报错信息
TypeError: xhr.upload.addEventListener is not a function
说明
项目中写上传图片功能时点击上传报此错误
图示
![](https://img.haomeiwen.com/i16013146/c466adf374948f38.png)
解决方法
方法一:
在 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
![](https://img.haomeiwen.com/i16013146/a3608e766eb592f0.png)
![](https://img.haomeiwen.com/i16013146/f9f6c925e912806b.png)
网友评论