为什么 Javascript Ajax 调用在除 IOS 5 之外的 IOS 设备上通过 SSL 失败。

发布于 2025-01-07 19:54:48 字数 630 浏览 0 评论 0原文

我有一个移动应用程序,它通过 SSL 向同一域上的另一个应用程序发出 ajax xmlHttpRequest 请求,以对用户进行身份验证。在 IOS 5 之前的 IOS 设备上,此调用失败,响应代码为零,并且我被告知它无法到达域。它在 IOS 5 和桌面浏览器上运行良好。这个应用程序使用纯 javascript,没有 jquery 或类似的东西。

奇怪的是,我在同一域上有另一个应用程序,它通过 ssl 执行类似的调用来进行身份验证,并且此调用在所有设备上都是成功的。唯一真正有趣的区别是该应用程序使用 jquery.ajax() 进行调用。

通过 Charles ssl 代理调试我得到了同样的错误。所以,我直接访问了 safari 地址栏中的 ajax url。然后我被警告有关可疑的查尔斯证书,并询问我是否愿意接受它。执行此操作后,ajax 调用始终可以在所有设备上运行!然后,我关闭了 Charles 代理,并开始再次收到失败的 ajax 调用。 :(

请有人就他们所知道的任何事情向我提出建议:

  1. IOS 5 和以前版本的 IOS 之间与 SSL 相关的有什么区别,并且可能是造成这种情况的原因。jquery
  2. 在他们的 ajax 调用中做了什么,可以使它工作当标准 xmlHttpRequest 不这样做时

I have a mobile application that makes an ajax xmlHttpRequest request over SSL to another application on the same domain to authenticate a user. This call fails with response code zero on IOS devices prior to IOS 5 and I get told that it cannot reach the domain. It works fine on IOS 5 and desktop browsers. This application uses pure javascript, no jquery or anything like that.

Strangely, I have another application on the same domain that does a similar call over ssl to do it's authentication, and this call is successful on all devices. The only real difference of interest is that this application uses jquery.ajax() to make the call.

Debugging through Charles ssl proxy I got the same error. So, I went directly to the ajax url in the safari address bar. I was then warned about the dodgy Charles certificate and asked if I want to accept it. After doing this, the ajax call always works.. on all devices! Then, I turned off the Charles proxy, and started getting failed ajax calls again. :(

Please can someone advise me on anything they know about:

  1. Is there any difference between IOS 5 and previous version of IOS that relates to SSL and could be the cause of this.
  2. What does jquery do in their ajax call that could make it work when a standard xmlHttpRequest does not?

Thanks in advance...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

椒妓 2025-01-14 19:54:48

事实证明这是一个证书错误。问题是一些浏览器接受无效的证书,而另一些则不接受。令人沮丧,但修复证书解决了我的问题。

This turned out to be a certificate error. The problem was that some browsers accepted the invalid cert and others didn't. Frustrating, but fixing the cert sorted out my problems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文