The following piece of logic used to work with both jquery 1.4.4 and 1.7.1 on all mobile devices that we're supporting:
$.ajax({
url: 'http://www.example.com/someurl',
type: 'GET',
dataType: 'text',
timeout: 60000,
success: function(data) {
alert(data);
},
error: function(jqXHR) {
alert(jqXHR.state());
}
});
But with iOS 5.0.1, the above enters the error function alerting rejected without any actual HTTP requests. It seems that exactly one AJAX request will work before I need to restart my iPhone.
Is this a known jquery / iOS 5.0 problem? How can I debug it? Is there any workaround? I don't know where to start looking.
NOTE: I've noticed on the server side, that instead of GET requests, OPTIONS requests are issued. This seems to be a related issue:
http://spin.atomicobject.com/2012/01/20/mobile-safari-on-ios-5-1-unexpectedly-making-cross-origin-resource-sharing-requests/
The link that I provided in the question is actually pointing to the solution. Some of my ajax requests are used to fetch URL's of PDFs which are streamed using
Content-Disposition: attachment; filename="somename.pdf"
Apparently, that causes major issues in iOS 5.0's Safari, breaking the XMLHttpRequest object (it is not related with jquery). Crazy. Here's the link again:
http://spin.atomicobject.com/2012/01/20/mobile-safari-on-ios-5-1-unexpectedly-making-cross-origin-resource-sharing-requests/
这篇关于jquery AJAX 停止使用 iOS 5.0.1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
停止 segue 并显示警报To stop segue and show alert(停止 segue 并显示警报)
自定义字体在我的应用程序中不起作用?Custom font is not working in my App?(自定义字体在我的应用程序中不起作用?)
我应该担心苹果将在 iOS6 中停止使用谷歌地图的Should I be worried about rumors that Apple will stop using Google Maps in iOS6?(我应该担心苹果将在 iOS6 中停止使用谷歌地图的传闻吗
如何在 iOS 5.1 中以 MM-dd-yy 格式显示选取器视图How to display picker view in MM-dd-yy format in iOS 5.1?(如何在 iOS 5.1 中以 MM-dd-yy 格式显示选取器视图?)
我们如何以编程方式改变 iPhone 屏幕的亮度?How can we programmatically change the brightness of the iPhone screen?(我们如何以编程方式改变 iPhone 屏幕的亮度?)
在 iOS 5 上设置 sqlite config SQLITE_CONFIG_SERIALIZED 返回Setting sqlite config SQLITE_CONFIG_SERIALIZED returns SQLITE_MISUSE on iOS 5(在 iOS 5 上设置 sqlite config SQLITE_CONFIG_SERIALIZED 返回 SQLITE_