这对我来说很困惑。当我运行ajax请求时,它总是返回错误,但检查响应,responseText中的数据实际上是我需要的数据。那为什么会出现错误?
$.ajax({
type: "GET",
url: "/getjson.php?name=jay",
dataType: "json",
success: function(msg){
alert(msg);
},
error: function(msg) {
alert("Error: " + msg.responseText);
}
});
答案 0 :(得分:1)
返回的HTTPStatus代码是jQuery用来确定要调用哪个处理程序的代码。
如果代码在200范围内(200 - 299)或304,那么将调用成功回调,否则将调用错误回调。
此外,如果jQuery无法解析响应,则将其视为错误(例如,如果在期望json时返回html,则将调用错误回调)
答案 1 :(得分:0)
将错误功能更改为
error: function(jqXHR, error_textStatus, errorThrown)
并检查这些:
jqXHR.readyState
jqXHR.status // <=== specially this
jqXHR.statusText
jqXHR.responseText