情景:携带数据请求接口,接口会返回一个数据流
初次尝试遇到问题:接口返回为乱码,但是swager(接口管理api地址)请求的是正常的,说明接口没问题
这里是代码:
ajax("url?batchId=" + _this.dataBatchId, "",
function(data) {
}, (err) => {
console.log(err);//这样请求会因为返回的是乱码而报错走这里
}, "post")
后来网上搜索未找到解决方案
去请教同事:
可以这样:
请后端同事把post请求改为get请求,
js里面这样写:
window.open("url?batchId=" + _this.dataBatchId);
//这次点击导出后就会自动下载后端接口转的文件了
但是这样写也有个问题,点击导出后会新开一个页面,请求成功开始下载文件后自动关闭(用户体验不好)
又在网上找了一一种方法(学到一个新词:"下载无感"):
window.location.href = "url?batchId=" + _this.dataBatchId;
这种方式导出就不会出现新开页面再自动关闭的情况了