window.location.href没反应window.open()就可以

江流川 2018-03-19 11:37:17
Ctroller中有个下载文件的方法,下载地址为downloadUrl。
在js中访问这个地址,一开始用的是window.location.href=downloadUrl;代码执行到这里了,也调用了Controller中的下载方法,但是浏览器里并没有真的的下载文件,猜想是不是response哪个地址出的问题。
后来改用window.open(downloadUrl);居然就可以了!
难道文件下载必须在新页面才能执行?求大神解惑!
...全文
686 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2018-03-20
  • 打赏
  • 举报
回复
缓存问题?加个时间戳试试呢?window.location.href=downloadUrl + "?" +escpae(new Date())
zhangfei2211 2018-03-19
  • 打赏
  • 举报
回复
return File(ms, "application/vnd.ms-excel", "XXX.xls");mvc的话,这么返回,ms是文件流
江流川 2018-03-19
  • 打赏
  • 举报
回复
void,文件以流的方式写入response中
zhangfei2211 2018-03-19
  • 打赏
  • 举报
回复
你的controller中返回的是什么类型?

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧