2012-01-16 26 views
1

私はjQuery Mobile/PhoneGapで動作するモバイルアプリケーションを持っていますが、iOS 5ではajaxコールバックがしばらくしてから起動を停止します。私はjQueryの$.ajax機能を使用して、ここで私が持っているエラーメッセージの一部ですよ:モバイルSafariはiOS 5のajax機能を無効にします

  • textStatus = parsererror
  • errorThrown =未定義のは、上記の2番目のエラーで

と呼ばれていませんでした'undefined'は私のコールバック関数です。私の質問は、あまりにも多くのエラーがスローされると、モバイルSafariはしばらくしてから機能を無効にしますか?

モバイルデバイスの接続が遅すぎると、私が取得しているJSONファイル(214K)がAJAXコールを長時間(> 10秒)長くし、Mobile SafariがAJAXをキャンセルするコール。その後、X個のキャンセルされたAJAX呼び出しの後、Mobile Safariがコールバック機能を完全に無効にするようです。

他に類のない行動をしている人はいますか?

答えて

0

私は$ .ajaxを頻繁に使用しており、この問題は発生していません。遅い接続の場合、タイムアウトを50000に設定することをお勧めします。

<div id='text1'>No Error yet...</div> 
を、タイムアウトパラメータがに似て追加されます:エラーを表示するには、どこかのhtmlでの追加

$.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 + ")"); 
    }, 
}); 
関連する問題