最近,当我尝试使用Axios下载CSV文件时,vue应用程序出现了问题,我不确定如何对其进行故障排除。
downloadFile: function(res = "") {
axios
.get('/api/file/' + res, 'blob')
.then(({ data }) => {
const blob = new Blob([data], {type: 'text/csv'});
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = res;
link.click();
}).catch(error => console.error(error))
}无论何时单击<div v-on:click="downloadFile(filename)">,都会在控制台上打印以下内容:
vue.min.js:6 TypeError: Cannot use 'in' operator to search for 'validateStatus' in blob
at spread.js:25
at Object.b [as forEach] (spread.js:25)
at e.exports (spread.js:25)
at r.<computed> [as get] (spread.js:25)
at Function.get (spread.js:25)
at a.downloadFile (eval at compile (http-vue-loader:161), <anonymous>:73:22)
at click (eval at Ya (vue.min.js:6), <anonymous>:3:1183)
at He (vue.min.js:6)
at HTMLDivElement.n (vue.min.js:6)
at HTMLDivElement.Yr.o._wrapper (vue.min.js:6)发布于 2020-08-28 21:40:25
面临着同样的问题。只能通过在package.json步骤中冻结axios版本来解决:
package-lock.json node_modules/ folder"@ nuxtjs / axios": "5.3.6" npm i上编辑package.json更改"@ nuxtjs / axios": "^ 5.3.6"
发布于 2020-09-03 17:38:08
我们在删除时也遇到了同样的错误。
Cannot use 'in' operator to search for 'validateStatus'通过删除现在被视为配置的冗余参数,修复了此问题。
Axios.delete方法没有数据参数,在0.20.0中改进了验证
发布于 2021-03-08 15:24:25
尝试使用javascript 模板文字语法
axios.get(/api/file/${res})
在axios请求中在URL参数之后发送的任何内容都将被视为配置对象
https://stackoverflow.com/questions/63620337
复制相似问题