Mock
Mock copied to clipboard
xhr_1.upload.addEventListener is not a function
环境: Angular 5 + Primeng + Mockjs
触发场景: 在一个文件上传表单中 , 使用的是 p-fileUpload 组件 ,点击文件上传后,出现
FileUpload.html:8 ERROR TypeError: xhr_1.upload.addEventListener is not a function
at FileUpload.upload (fileupload.js:186)
at Object.eval [as handleEvent] (FileUpload.html:8)
at handleEvent (core.js:13532)
at callWithDebugContext (core.js:15041)
at Object.debugHandleEvent [as handleEvent] (core.js:14628)
at dispatchEvent (core.js:9944)
at eval (core.js:10569)
at HTMLButtonElement.eval (platform-browser.js:2628)
at ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4724)
在屏蔽 Mockjs 后文件上传不会报错
Debug 界面

在界面中可以看到当前的 XMLHttpRequest已经是Mockjs处理过的,xhr_1.upload.addEventListener的值为undefined,导致后续程序报错
查看 xhr_1.upload中的属性,也是未发现该方法

我的问题和你是一样的,你是怎么屏蔽 Mockjs 文件的
const Mock = require('mockjs2');
Mock.setup({
timeout: 800 // setter delay time
});
var xhr = new window._XMLHttpRequest();
window.XMLHttpRequest.prototype.upload = xhr.upload;
三年又三年👀