jQuery ajax,非200响应

时间:2011-05-04 13:38:22

标签: jquery ajax

如何为所有状态代码取得成功*

$.ajax({
    url: "/"
    , dataType: 'json'
    , type: 'POST'
    success: function (data) {
        alert('all good');
    }
});

*注意我不关心它是否会触发“成功”方法,我只想将响应实体解析为JSON。

我对400的响应实体可能是一些JSON,其中包含有关为什么它是一个错误请求的详细信息,是否有一些设置可以使这项工作开箱即用jQuery?或者我必须手动滚动吗?

由于

1 个答案:

答案 0 :(得分:4)

使用complete: function () { }代替success。在这种情况下,结果数据将不会被jQuery解析,但您可以通过在XHR对象的$.parseJSON() responseText上执行$.ajax({ url: "/" , dataType: 'json' , type: 'POST' complete: function (xhrObj) { var data = $.parseJSON(xhrObj.responseText || ""); alert('all good'); } }); 来自行完成此操作:

{{1}}