jQuery

トップ > チップス > jQuery
2013-03-01, jquery

Ajaxリクエストのエラーを捕捉する

jQueryの$.getや$.postメソッドは、非常にお手軽にAjaxリクエストを投げることが出来るので便利ですが、取得先でエラーが起こっても黙っているので(これもある意味有難い仕様ではありますが)、注意が必要です。エラーをきちんと捕捉したい場合は、ajaxErrorというメソッドを使って予めエラーハンドラを登録しておきます。

$(document).ajaxError(function(event, request, settings) {
  $("#message").text("Error requesting page " + settings.url + "");
});

$.get("dummy/invalid.html",function(d){
  $("#message").text("Ok.");
});

古いバージョンのjQueryでは任意の要素ごとにハンドラをくっつけることが出来たようですが、現在は上述のようにdocument要素に対してのみ登録すべき、とされているようです。そのため、ページ内で複数のURLに対してリクエストが発生する場合は、settings.urlプロパティなどで処理を分岐する(表示するメッセージを変える)などの対応も必要です。

参考URL

この記事は役に立ちましたか?