Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Javascript Ajax调用在IOS设备(IOS 5除外)上通过SSL失败。_Javascript_Jquery_Ios_Ajax_Ssl - Fatal编程技术网

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

为什么Javascript Ajax调用在IOS设备(IOS 5除外)上通过SSL失败。,javascript,jquery,ios,ajax,ssl,Javascript,Jquery,Ios,Ajax,Ssl,我有一个移动应用程序,它通过SSL向同一域上的另一个应用程序发出ajax xmlHttpRequest请求,以对用户进行身份验证。在IOS 5之前的IOS设备上,此呼叫失败,响应代码为零,我被告知它无法到达域。它在iOS5和桌面浏览器上运行良好。这个应用程序使用纯javascript,没有jquery之类的东西 奇怪的是,我在同一个域上有另一个应用程序,它通过ssl执行类似的调用来进行身份验证,并且这个调用在所有设备上都是成功的。唯一有趣的区别是,该应用程序使用jquery.ajax()进行调用

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

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

通过Charles ssl代理调试时,我遇到了相同的错误。因此,我直接转到safari地址栏中的ajax url。然后,有人警告我不要拿到不可靠的查尔斯证书,并问我是否愿意接受。完成此操作后,ajax调用始终有效。。在所有设备上!然后,我关闭了Charles代理,再次开始接收失败的ajax调用:(

请有人告诉我他们知道的任何事情:

  • IOS 5与以前版本的IOS之间是否存在与SSL相关的任何差异,这可能是造成这种情况的原因
  • 当标准xmlHttpRequest不能工作时,jquery在ajax调用中做了什么可以使其工作

  • 提前感谢…

    这是一个证书错误。问题是一些浏览器接受了无效的证书,而其他浏览器没有。令人沮丧的是,修复证书解决了我的问题