編輯:我剛剛意識到這是Recommended solution for AJAX, CORS, Chrome & HTTP error codes (401,403,404,500)的重複,他嘗試了我最後提出的想法。但我不知道他是否成功了(用戶不知道),也沒有其他人發佈解決方案或評論,所以我認爲值得去尋找新的答案。如何處理CORS錯誤代碼?
問題:
- 我發送一個正確執行的(編輯:不當執行的故事的結局......)CORS請求。
- 服務器收到請求並嘗試對其進行處理。
- 服務器返回錯誤響應,例如
422 Unprocessable Entity
,以及有關錯誤的JSON信息。這個想法是,我的應用程序可以收到這個錯誤信息,並在UI中適當地處理它。 - 瀏覽器阻止我的錯誤處理程序獲取響應內容,甚至獲取狀態碼。
顯示在瀏覽器接收到的401
狀態碼,但把它作爲一個CORS安全錯誤:
響應對象,顯示出我的代碼不能訪問響應數據(data: ""
,status: 0
):
怎麼會有其他人的手領導這個限制?我現在最好的猜測是劫持HTTP「成功」代碼(2XX
)作爲錯誤代碼,然後在響應中包含錯誤信息。這可以防止我以常規方式使用ajax錯誤處理程序,但是我將它作爲全局ajax過濾器處理,因此此過濾器將捕獲異常成功代碼並觸發錯誤處理程序。
鏈接確實有它另一個答案,順便說一句。我無法分辨你是否試圖修復錯誤或只是簡單地捕捉錯誤。 – 2014-11-02 01:21:37