$ .getまたは$ .postを使用するときに、サーバーエラーまたは404ページが見つからないことをどのようにキャッチしますか?
例えば:
$.post("/myhandler", { value: 1 }, function(data) {
alert(data);
});
「/ myhandler」の読み込み中にサーバーエラーが発生した場合、またはそれが見つからない場合は、まったく何も起こりません。
エラーが発生した場合、どのように通知しますか?
あなたができる
$.post("/myhandler", { value: 1 }, function(data) {
alert(data);
}).fail(function(){
// Handle error here
});
エラーが発生した場合はfailが呼び出されます
他の答えは素晴らしいですが、別の解決策があります。つまり、 .ajaxSetup
、 .ajaxError
およびその他のAjaxイベントハンドラーです(ajaxSetupドキュメントページを確認してください)。残りの詳細については)。
たとえば、.ajaxError
を使用すると、特定の要素セットに対して、.post
、.get
、.getJSON
、および.ajax
からのすべてのajaxエラーのグローバルハンドラーを設定できます。 。
$(selector).ajaxError(function(event, xhr, ajaxOptions, errorThrown) {
// handle ajax error here
});
使用する $.ajax
代わりに、error
コールバックを使用します。
$.ajaxSetup()
、 stausCode
オプションを使用してみてください
$.ajaxSetup({
statusCode : {
// called on `$.get()` , `$.post()`, `$.ajax()`
// when response status code is `404`
404 : function (jqxhr, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
}
});
// $.get("/path/to/url/");
// $.post("/path/to/url/");
// $.ajax({url:"/path/to/url/"})