Vue:xhr.upload.addEventListener is not a function

报错信息

TypeError: xhr.upload.addEventListener is not a function

说明

项目中写上传图片功能时点击上传报此错误

图示

图示

解决方法

方法一:

在 node_modules/mockjs/dist/mock.js 第8308行 和
node_modules/mockjs/src/mock/xhr/xhr.js 第216行
添加如下代码:

 MockXMLHttpRequest.prototype.upload = xhr.upload;

项目测试和线上是自动打包上传的,所以不会把这两句代码打包进去

方法二:

vue-cli中的mockjs模块把XMLHttpRequest覆盖拦截了,会导致对象属性访问不到,所以把mokejs卸载删除,
删除mokejs:

npm uninstall mockjs 删除该模块依赖

注释引入mock


vue.config.js
src/main.js
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容