从jquery中的ajax请求获取错误响应

时间:2010-10-18 17:36:53

标签: jquery ajax

无论如何,我的网络服务器都会向任何ajax请求返回json响应。如果响应成功,它将返回状态代码为200的json。如果出现错误,它将返回状态代码为400或500的json。我需要获取该信息,即使请求是400或500,因为json响应带有错误消息,需要呈现给用户。

问题是,如果状态代码不是200,那么jquery $ .ajax函数不会让你访问响应对象,对吗?有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

您可以覆盖内部使用的jQuery.httpSuccess method以确定请求是否成功,例如:

jQuery.httpSuccess = function() { return true; }

这将使您的success处理程序在400/500范围内的状态代码上执行。

注意:以后可能会更改为jQuery.ajax.httpSuccess

答案 1 :(得分:2)

确实如此。仅在调用成功时调用success函数,但在出现错误时调用error回调 - 包括200以外的HTTP状态。

$.ajax({..., error: function(XMLHttpRequest, textStatus, errorThrown) { ... } });

答案 2 :(得分:0)

您可以轻松找回它:

$.ajax({
    // your options
    success: function(data, xhr) {
      alert(xhr.status);
    }
});