25

jQuery の $.ajax 関数がヒットした場合に関数を実行する方法はありtimeoutますか?

すなわち

$.ajax({
...
...
,timeout:1000(){do something if timeout)
...

});
4

1 に答える 1

48
$.ajax({
    ...
    timeout: 1000,
    error: function(jqXHR, textStatus, errorThrown) {
        if(textStatus==="timeout") {
           //do something on timeout
        } 
    }
});​

詳細については、jQuery のドキュメントを参照してください。

http://api.jquery.com/jQuery.ajax/


編集済み

最初にこれに回答してから 1 年以上が経過し、可能な値がまたはtextStatusに変更されました。エラー コールバックの場合、最後の 4 つのステータスのみが可能です。"success", "notmodified", "error", "timeout", "abort","parsererror"

.failまた、返された JQuery deferred promise オブジェクトのメソッドを介してエラー ハンドラーを接続できるようになりました。

var promise = $.ajax({ timeout: 1000 });

promise.fail(function(jqXHR, textStatus) {
    if(textStatus==="timeout") {
        // handle timeout  
    }
});
于 2013-05-14T00:44:05.737 に答える