最简单方法的思路整理:
1.如果后台需要的是post请求需要让后台将接口改成get请求
2.前端直接通过a标签直接访问请求的路径
3.请求的时候写上要传递过去的参数
刚开始请求的时候,我是通过axios将后台返回的res给打印出来了,结果发现不行啊,全乱码了,错误代码如下
//错误代码
handleExport= () => {
axios
.post("/safemgmt/api/custom/downloadFaceUrls",{ids:this.state.selectedRowIds})
.then(res => {
console.log(res);
})
}
因为后台返回给的是x-msdownload格式的,也就是说请求的时候就已经生成一个zip文件了,所以直接访问他的服务器的路径就可以
具体修改代码如下:
let baseurl="172.16.16.77/safemgmt/api/custom/downloadFaceUrls"
//这一块要写成你请求的服务器的接口地址,写我的是没用的,因为我请求的是别人本地的服务,他电脑一关闭,就会请求不到 不能用localhost要把它换成具体的ip地址
<a href={baseurl+`?ids=${this.state.selectedRowIds}`} target="_blank">导出</a>
//注:我是请求的时候需要给传过去ids参数,所以用es6语法这样写的
网友评论