解决ajax下载文件的时候没有反应 return的是类似于html的乱码

有一个需求是用户批量生成账号后,可以选择是否将刚生成的账号生成Excel.
当时想的就是做一个弹窗 用户点击是 就可以下载对应的Excel.
想把获取到的userlist直接作为json传到后台,然后生成对应的userlist,直接生成Excel就ok了.
结果发现点击下载之后 没有弹出下载的页面,跟了一下代码代码也没有报错,F12发现返回的是很大篇幅的乱码 类似于html的那种.
然后查了一下 发现是因为文件下载返回的是二进制的内容,而ajax并不能接受二进制的信息.所以会报错.
可以把ajax改为直接通过标签跳转的方式来进行下载.
但是因为自己是需要传递json类型的一个list数据 比较大 所以就不能直接这么访问了.
看到网上也有说 在下载文件的时候 把datatype 改为blob 也是可以的
也是尝试了一下 也不能满足自己的需要
最后只能通过a标签 将用户的id传到了后台 在后台查询了一下
生成Excel

你可能感兴趣的:(解决ajax下载文件的时候没有反应 return的是类似于html的乱码)