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问题解决》二维码
  • 微信打赏
  • 支付宝打赏

已有4条评论

  1. 耐火砖价格

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

    2018-01-31 15:06 回复
  2. 软件开发

    无法解决,到处碰壁,哎

    2018-01-30 18:05 回复
  3. 声屏障

    这个太深奥了,真心看不懂

    2018-01-30 10:35 回复
  4. 记忆力博客

    高深的问题,对于我一个菜鸟来说如同天书

    2018-01-25 09:34 回复

(必填)

(必填)

(可选)