1. ホーム
  2. ジャバスクリプト

[解決済み】ajax(jQuery)のタイムアウトを設定する。)

2022-04-11 04:06:35

質問

$.ajax({
    url: "test.html",
    error: function(){
        //do something
    },
    success: function(){
        //do something
    }
});

時々 success 関数がうまく動作することもあれば、そうでないこともあります。

このajaxリクエストのタイムアウトはどのように設定するのですか?例えば、3秒、時間切れの場合は、エラーを表示します。

問題は、ajaxリクエストが終了するまでブロックがフリーズすることです。サーバーが少しの間ダウンしている場合、それは決して終了しません。

どうすればいい?

をお読みください。 $.ajax ドキュメント のように、これはカバーされたトピックです。

$.ajax({
    url: "test.html",
    error: function(){
        // will fire when timeout is reached
    },
    success: function(){
        //do something
    },
    timeout: 3000 // sets timeout to 3 seconds
});

の textStatus パラメータにアクセスすることで、どのような種類のエラーが発生したかを確認できます。 error: function(jqXHR, textStatus, errorThrown) オプションで指定します。オプションは、"timeout", "error", "abort", "parsererror" の4つです。