1. 程式人生 > >關於vue封裝的axios在請求錯誤時獲取不到錯誤狀態碼的初步發現

關於vue封裝的axios在請求錯誤時獲取不到錯誤狀態碼的初步發現

我們在寫vue專案的時候,專案有的時候需要自己再次封裝一個網路請求,比如:


由於vue在開發的時候,預設的請求是localhost:8080,一般在請求後端的介面的時候,會有一個跨越的問題,跨越的解決就不寫了,網上一大堆,比如在響應攔截的時候,如果請求錯誤,上面有些錯誤碼,比如404,500之類的。但是在開發環境的情況下,存在跨域,如果請求錯誤,會存在獲取不到錯誤狀態碼的情況,比如:


這個介面的地址是我特意寫錯的,根本沒有這個介面,雖然上面有404的提示,但是獲取不到這個狀態碼。

但是在vue專案打包上線之後,上傳到請求介面同域名的伺服器上時就能夠獲取到404這個狀態碼了,比如:


所以,如果你在寫專案的時候,如果和後端一人一個伺服器的話,請求api的域名是後端的,但是上傳檔案在你自己的域名下的伺服器上,會存在獲取不到錯誤狀態碼的情況。建議把檔案上傳到與請求介面同域名的伺服器上,就能獲取到請求錯誤的狀態碼。

至少目前在我的發現下是這樣處理的,至於有沒有其他處理方法還沒有發現,如果有哪位大神發現了,可以交流一下。