錯誤問題
Vue:xhr.upload.addEventListener is not a function
這個問題是因為mockjs改動了axios里面XMLHttpRequest對象致使的
根據axios源碼 l是一個XMLHttpRequest對象
mockJs把l變量從XMLHttpRequest對象改為了MockXMLHttpRequest對象
因此l.upload是一個空對象 空對象沒有 addEventListener方法 因此報錯
解決方案:
方法1
在工程node_modules/mockjs/dist/mock.js文件里,在mockjs判斷的條件的地方 (搜尋)->/若是未找到匹配的數據模板,則 采用原生 XHR 發送請求。/ 通常是8308行位置,添加代碼
MockXMLHttpRequest.prototype.upload = xhr.upload;
給MockXMLHttpRequest對象添加一個原生xhr.upload方法。
方法2
在工程node_modules/mockjs/src/xhr/xhr.jsprototype 通常是第216行添加代碼
MockXMLHttpRequest.prototype.upload = xhr.upload;
這個方法要重新編譯才能夠生效對象