axios 使用報錯 spread js 25 Uncaught in promise TypeError Cannot read property protocol of undefine

axios 使用報錯 spread.js:25 Uncaught (in promise) TypeError: Cannot read property ‘protocol’ of undefined

造蟲過程中,因調整某個引用axios的模塊而引出了一個問題,完整報錯如下:

spread.js:25 Uncaught (in promise) TypeError: Cannot read property ‘protocol’ of undefined
at spread.js:25
at spread.js:25
at new Promise ()
at e.exports (spread.js:25)
at e.exports (spread.js:25)

spread.js並非小編自己寫的,是 npm_module 中的一個文件,理論上不應該有錯,所以還是要在自己寫的代碼裏找。

最終定位到報錯的代碼片段如下:

axios.post(this.api.getName, payload).then(response => {
    if (response.data.code == 0) {
        alert('信息已經提交');
    } else {
        alert('網絡異常!');
    }
})

小編不禁疑惑,這一段代碼有什麼錯呢?略作思考排查可以發現,其實這一段代碼是沒錯的。

問題原因在於 this.api.getName 這個變量不存在。遠古代碼,重構時難免丟三落四,補上就好。

let api = {
	getName: 'http://localhost:8000/getName'
}

至於爲什麼變量不存在會報這樣一個錯誤而不是 undefined,小編就不得而知了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章