【问题标题】:File download using AXIOS getting TypeError: Cannot use 'in' operator to search for 'validateStatus' in blob使用 AXIOS 下载文件时出现 TypeError:无法使用“in”运算符在 blob 中搜索“validateStatus”
【发布时间】:2020-08-27 16:26:53
【问题描述】:

最近我尝试使用 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)

【问题讨论】:

    标签: javascript vue.js axios blob


    【解决方案1】:

    面临同样的问题。仅通过冻结 package.json 中的 axios 版本即可解决 步骤:

    1. 删除package-lock.json
    2. 删除node_modules/文件夹
    3. 编辑package.json"@ nuxtjs / axios": "^ 5.3.6" 更改为"@ nuxtjs / axios": "5.3.6"
    4. npm i

    【讨论】:

    • 谢谢。我没有使用任何 npm。我用cdn抓取了最新版本的axios
    【解决方案2】:

    我们在删除时遇到了同样的错误。

    Cannot use 'in' operator to search for 'validateStatus'
    

    通过删除现在被视为配置的冗余参数已解决此问题。

    axios.delete方法没有data参数,0.20.0验证改进

    【讨论】:

      【解决方案3】:

      尝试使用 javascript 模板文字语法

      axios.get(`/api/file/${res}`)

      在 axios 请求中在 URL 参数之后发送的任何内容都将被视为配置对象

      【讨论】:

        猜你喜欢
        • 2021-01-23
        • 2018-05-02
        • 2015-02-19
        • 1970-01-01
        • 1970-01-01
        • 2013-04-05
        • 1970-01-01
        • 2016-11-20
        • 2013-06-10
        相关资源
        最近更新 更多