ドキュメントには、error:オプション関数が使用可能になることが示されています:XHRインスタンス、ステータスメッセージ文字列(この場合は常にエラー)、およびXHRインスタンスから返されるオプションの例外オブジェクト(Book:JQuery in Action)
以下を使用して($ .ajax呼び出しで)「parsererror」および「timeout」(timeout:オプションを追加したため)が発生したと判断できました
error: function(request, error){}
エラーオプションで評価する他のことは何ですか?オプションの例外オブジェクトを含めますか?
編集:回答の1つは、すべての戻りエラーを示します... XHRインスタンスと例外オブジェクトの(デバッグ用の)価値のあるものについての詳細を学ぶと役立ちます
これは完全な$ .ajax呼び出しです。
$.ajax({
type: "post",
url: "http://myServer/cgi-bin/broker" ,
dataType: "text",
data: {
'_service' : 'myService',
'_program' : 'myProgram',
'start' : start,
'end' : end
},
beforeSend: function() {
$("#loading").removeClass("hide");
},
timeout: 5000,
error: function(request,error) {
$("#loading").addClass("hide");
if (error == "timeout") {
$("#error").append("The request timed out, please resubmit");
}
else {
$("#error").append("ERROR: " + error);
}
},
success: function(request) {
$("#loading").addClass("hide");
var t = eval( "(" + request + ")" ) ;
} // End success
}); // End ajax method
入力いただきありがとうございます
JQueryのソースコードを見ると、successに加えて4つのステータスが返されます:
エラーよりもリクエストの方が便利だと思います。
error:function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
xhrはXmlHttpRequestです。
readyState値は、1:loading、2:loaded、3:interactive、4:completeです。
statusはHTTPステータス番号です。つまり、404:見つかりません、500:サーバーエラー、200:ok。
responseTextはサーバーからの応答です。これは、WebサービスからのテキストまたはJSON、またはWebサーバーからのHTMLです。
これは別ですが、送信したコードにバグがあると思います。この線:
if (error = "timeout") {
より多くの等号を含める必要があります。
if (error == "timeout") {
エラー関数に渡される2番目の引数は、文字列「timeout」「parserror」「error」または「notmodified」のいずれかです。 3番目は例外オブジェクトです。このオブジェクトはデバッグに役立ちます。
応答は正しいですか?解析エラーは、var t = eval( "(" + request + ")" ) ;
行で評価されるデータに問題があることを意味します