cordova ios中的基本身份validation失败

我试图在混合移动ios应用程序上使用基本身份validation进行ajax调用。 ajax调用什么都不返回它只是挂起没有成功也没有失败。 但同样的ajax调用从android成功触发。

当我用wireshark检查传出请求时,我发现身份validation标头丢失,401从我的服务器返回,并且在后续调用时,身份validation标头也会与请求一起发送,返回301. 但它适用于android

同样的api在ios的开发服务器上运行正常但在我的prod服务器中失败了

任何建议表示赞赏

我正在使用cordova 4.2.0。

我观察到,如果使用“WWW-Authenticate:Basic”标头进行401响应,IOS / UIWebView似乎会吞下响应,而不是将其传递回应用程序层,从而使服务永远不会响应。 也许这是为了防止身份validation弹出窗口。

无论如何,这种行为是完全出乎意料的!

编辑:我发现了一个关于这个问题的cordova错误报告: https : //issues.apache.org/jira/browse/CB-2415

这似乎可以通过Cordova iOS平台4.X及更高版本解决。 我刚刚使用UIWebView更新了一个较旧的应用程序到WKWebView,这个问题不再发生,我们可以删除相对痛苦的解决方法(使用同步调用)。