- 項目框架
- React.js + webpack + ES6 + JQuery
- 問題場景
- ajax請求用戶數據,服務器返回json格式,數據很可能會比較長,甚至達到幾百kb。
- 問題描述
- 客戶端ajax請求失敗,但並不是每次都失敗,有時候又請求正常,chrome報錯截圖如下:

-
- chrome檢查network的status顯示"(failed)",而請求的status code為200
- 問題探索
- 關於這一報錯,網上查閱資料發現眾說紛紜,也就是說可能出現這一報錯的場景是比較多的,其中不乏瀏覽器設置的因素。
- 再懷疑瀏覽器設置原因之后,我繼續在ie瀏覽器測試,仍然會報錯,但是報錯的信息不太一樣,這是跟瀏覽器有關的。
- 后來發現,問題出在服務器返回的json數據是不完整的,客戶端無法解析格式錯誤的json數據,因此報錯。也是為什么服務器返回的請求響應碼為200而客戶端顯示(failed)的原因。
- json數據的不完整是有規律的,最大大小為15.2kb左右,也就是說超過這一大小的json數據就會被截斷。
- 與后台溝通后,確定為服務器容量不足的原因。
- 問題結論
- 下次在chrome瀏覽器遇到這個問題的時候,如果同樣是ajax請求需要返回較長json數據的情況,並且報錯時隱時現,首先檢查是否是json數據不完整的原因
