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/
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…