iOS下AJAX請求遇HTTP狀態碼401持續pending問題解決打賞

最近項目上遇到這樣一個問題,iOS 系統,在 AJAX 請求發出后,因授權原因返回 401,發現一直 pending,查了很久發現 SO 上有類似提問。

主要原因是,當 AJAX 返回帶 WWW-Authenticate 信息的 401 響應時,Web 容器 (瀏覽器或 WebView )會嘗試彈出彈出框讓你輸入認證信息。但是在 iOS 平臺,系統的某些默認行為會導致請求沒有被發送到應用層。因此,AJAX請求會處于 pending 狀態。

因為項目并不是基于 HTTP 認證的,而服務端采用的 IIS,默認開啟了相關配置,最終為解決問題,選擇了刪除響應頭中所有的 WWW-Authenticate 信息。如果遇到同類問題,請留意是否存在下圖所標識 header

WWW-Authenticate

參考:
https://stackoverflow.com/questions/30529210/handling-http-401-with-www-authenticate-in-cordova-ionic-ios-application
https://issues.apache.org/jira/browse/CB-2415

iOS下AJAX請求遇HTTP狀態碼401持續pending問題解決
文章《iOS下AJAX請求遇HTTP狀態碼401持續pending問題解決》二維碼
  • 微信打賞
  • 支付寶打賞

已有6條評論

  1. 立發麻將

    好高深的問題的,我一個菜鳥聽不太懂呢

    2019-03-11 17:34 回復
  2. 游客 401

    謝謝博主分享

    2018-09-20 09:15 回復
  3. 耐火磚價格

    感謝博主分享,很有用的教程

    2018-01-31 15:06 回復
  4. 軟件開發

    無法解決,到處碰壁,哎

    2018-01-30 18:05 回復
  5. 聲屏障

    這個太深奧了,真心看不懂

    2018-01-30 10:35 回復
  6. 記憶力博客

    高深的問題,對于我一個菜鳥來說如同天書

    2018-01-25 09:34 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖