3

jQueryMobile プロジェクトの $.ajax() 呼び出しでタイムアウトを処理する必要があります。いくつかの調査を行うと、これを行うための2つの実行可能な方法に出くわしました。

.error() .fail()一般的なようです: 呼び出しが何らかの理由で失敗した場合、エラー スタックが返され、必要なものを処理する関数呼び出しが書き込まれます。

.timeout、タイムアウトを具体的に処理し、待機できる時間を指定できるように思われます。応答を受け取らないと、呼び出しがタイムアウトしてエラーがスローされます。

.timeout()私の質問はモバイル環境にあります。通話でタイムアウトを処理したほうがよいでしょうか? または、関数を使用してすべての呼び出しをブランケットし、エラー コールバック内でタイムアウトを処理する必要がありますか?.error() .fail()

モバイル デバイスを使用する場合、ユーザーがカバレッジ ゾーンから出て行くことが予想されるため、通話が返されない場合、タイムアウト機能を実装する必要があると直感的に言えます。エラー コールバックにはタイムアウトが組み込まれていますか? 私はすべてのエラーを適切に処理したいので、両方を実装し、タイムアウト コールバックで直接動作するようにタイムアウトを指定することをお勧めします。

ここに欠けているものはありますか?

4

1 に答える 1

0

タイムアウトイベントはfail()-functionをトリガーします!

-requestにはtimeout-valueを設定する必要があります$.ajax()

$.ajax({
     timeout: 15000 // 15sec
    });

ajax-requestがこの期間内に応答を受信しなかった場合、-functionで渡された関数を実行し.fail()ます。

$.ajax()
  .fail(function(jqXHR, textStatus, errorThrown) { 
        if(textStatus === 'timeout') {
             alert("$.ajax failed!"); 
        {
  });
于 2013-03-20T19:57:28.923 に答える