小编典典

jQuery AJAX停止使用iOS 5.0.1

ajax

以下逻辑用于在我们支持的所有移动设备上同时使用jquery 1.4.4和1.7.1:

$.ajax({
  url: 'http://www.example.com/someurl',
  type: 'GET',
  dataType: 'text',
  timeout: 60000,
  success: function(data) {
    alert(data);
  },
  error: function(jqXHR) {
    alert(jqXHR.state());
  }
});

但是在iOS
5.0.1中,上面的代码输入了错误功能警报,rejected而没有任何实际的HTTP请求。在我需要重新启动iPhone之前,似乎只有一个AJAX请求可以工作。这是已知的jquery
/ iOS 5.0问题吗?我该如何调试?有什么解决方法吗?我不知道从哪里开始寻找。

注意 :我注意到在服务器端,发出请求而不是GET请求OPTIONS。这似乎是一个相关的问题:

http://spin.atomicobject.com/2012/01/20/mobile-safari-on-
ios-5-1-unexpectedly-making-cross-origin-resource-sharing-
requests/


阅读 300

收藏
2020-07-26

共1个答案

小编典典

我在问题中提供的链接实际上指向解决方案。我的一些Ajax请求用于获取使用以下文件流式传输的PDF的URL:

Content-Disposition: attachment; filename="somename.pdf"

显然,这会导致iOS 5.0的Safari出现重大问题,从而破坏XMLHttpRequest对象(与jquery无关)。疯。再次是链接:

http://spin.atomicobject.com/2012/01/20/mobile-safari-on-
ios-5-1-unexpectedly-making-cross-origin-resource-sharing-
requests/

2020-07-26