Mobile Safari禁用iOS 5中的ajax功能

我有一个在jQuery Mobile / PhoneGap上运行的移动应用程序,并且在iOS 5中 - 只有我的ajax回调在一段时间后停止触发。 我正在使用jQuery的$.ajax函数,以下是我得到的一些错误消息:

  • textStatus = parsererror
  • 没有调用errorThrown = undefined
  • 在上面的第二个错误'undefined'是我的回调函数。 我的问题是,如果太多的错误被抛出,Mobile Safari会在一段时间后禁用函数吗?

    我的猜测是,当移动设备的连接速度太慢时,我抓住的JSON文件(214K)会使AJAX调用持续太久(> 10s?),Mobile Safari会取消AJAX调用。 然后,在X个取消的AJAX调用之后,Mobile Safari似乎完全禁用回调函数。

    其他人有类似的行为?


    我经常使用$ .ajax并没有遇到这个问题。 我建议将超时设置为50000,以获得较慢的连接。 要查看错误,请在您的html添加内容的某处:

     <div id='text1'>No Error yet...</div> 
    

    并且会添加超时参数,类似于:

        $.ajax({
        type: "GET",
        url: "yourpage.html",
        async: true,
        cache: false,
        timeout:5000,
        success: function(data){ 
            //something with the data
        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
            $("#text1").text("Comet Timeout ERROR: " + textStatus + " (" + errorThrown + ")");
        },
    });
    
    链接地址: http://www.djcxy.com/p/55689.html

    上一篇: Mobile Safari disables ajax function in iOS 5

    下一篇: How do I return the response from an asynchronous call?