该文档表明error:option函数将可用:XHR实例,状态消息字符串(在本例中总是错误)和从XHR实例返回的可选异常对象(Book:JQuery in Action)
使用以下(在$ .ajax调用中)我能够确定我有一个“parsererror”和一个“timeout”(因为我添加了timeout:option)错误
error: function(request, error){}
您在错误选项中评估的其他内容是什么?你是否包含可选的异常对象?
EDIT: 其中一个答案表明所有返回错误...在XHR实例和异常对象中学习更多关于什么是有 Value 的(用于调试)会有所帮助
这是一个完整的$ .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
感谢您的投入
5 回答
查看jQuery源代码,有四种返回状态,另外还有 success :
timeout - 超出指定的超时时间
error - http错误,如404
notmodified - 自上次请求后未请求修改请求的资源
parsererror - 当xml / json响应错误时
我发现请求比错误更有用 .
xhr 是XmlHttpRequest .
readyState 值为1:加载,2:加载,3:交互,4:完成 .
status 是HTTP状态编号,即404:未找到,500:服务器错误,200:确定 .
responseText 是服务器的响应 - 可以是来自Web服务的文本或JSON,也可以是来自Web服务器的HTML .
这是旁白,但我认为您提交的代码中存在错误 . 这条线:
应该有更多相同的标志:
传递给错误函数的第二个参数将是字符串“timeout”“parserror”“error”或“notmodified” . 第三个将是异常对象 . 此对象有助于调试 .
你确定答案是否正确?解析错误意味着在行中评估数据存在错误
var t = eval( "(" + request + ")" ) ;