0

私はajax呼び出しを使用してHTMLデータを取得しています。場合によっては、HTTPエラー403が発生する可能性があります(IEのバグEncountering 403 error while using ajax call on IEHash fragments with forward-slash throwing 403 errors with AJAX requests in IEなど)。ajaxを使用してHTTPエラーを検出しました

エラー処理のために、エラーが発生したことをキャッチして、エラーメッセージを表示します。

どうすればよいですか?たぶん

documentationを引用する

$.ajax({ 
    type : 'POST', 
    data : data, 
    cache : false, 
    url : url, 
    dataType : 'html' 
    success : function(){ 
     //if HTTP response is ok, diplay data 
     //else if HTTP response gets 403 error, display some other message 
    } 
}); 

答えて

1

のようなもの:

エラー(jqXHR、textStatus、errorThrown)
機能
要求が失敗した場合に呼び出される関数を。
この関数は3つの引数を受け取ります。jqXHR(jQuery 1.4.x、XMLHttpRequest)オブジェクト、発生したエラーのタイプを表す文字列、およびオプションの例外オブジェクト(発生した場合)。 2つ目の引数(null以外)に可能な値は、 "timeout"、 "error"、 "abort"、 "parsererror"です。 HTTPエラーが発生すると、errorThrownは "Not Found"や "Internal Server Error"などのHTTPステータスのテキスト部分を受信します。 jQuery 1.5以降、エラー設定は一連の関数を受け入れることができます。各関数が順番に呼び出されます。注意:このハンドラは、クロスドメインスクリプトおよびJSONP要求に対しては呼び出されません。

$.ajax({ 
    type : 'POST', 
    data : data, 
    cache : false, 
    url : url, 
    dataType : 'html' 
    success : function(){ 
     //if HTTP response is ok, diplay data 
     //else if HTTP response gets 403 error, display some other message 
    }, 
    error: function(){ 
     // Handle your error here 
    } 
}); 
+0

ありがとうございます。それは今働く。同じ文書ページにある 'statusCode'ハンドラとの違いを教えてください。 'statusCode:{404:function(){alert( 'page not found');}のようなものを使うことができます。 } ' – ptamzz

関連する問題