Javascript Jquery获取关于XHR错误的数据

Javascript Jquery获取关于XHR错误的数据,javascript,jquery,json,xmlhttprequest,Javascript,Jquery,Json,Xmlhttprequest,如果我发出一个jqueryajax请求,并且请求成功,那么我将返回我的JSON数据。但是,如果我发出一个请求,并且得到的不是200响应代码,那么我就无法在Jquery回调中得到数据。我需要数据,因为它有一个关于数据的描述 success: function (data, tst, xhr) { $.log('XHR OK'); }, error: function (xhr, tst, err) { $.log('XHR ERROR ' + XMLHttpRequest.stat

如果我发出一个jqueryajax请求,并且请求成功,那么我将返回我的JSON数据。但是,如果我发出一个请求,并且得到的不是200响应代码,那么我就无法在Jquery回调中得到数据。我需要数据,因为它有一个关于数据的描述

success: function (data, tst, xhr) {
    $.log('XHR OK');
},
error: function (xhr, tst, err) {
    $.log('XHR ERROR ' + XMLHttpRequest.status);
},
有什么想法吗

谢谢

试试这个。它向JSON请求添加了一个错误回调,如下所示:

$.jsonp({   
    url: "Your URL",
    data: {data: "Some Data"},
    dataType: 'jsonp',
    timeout: 2000,
    success: function(data, status) {
        // Do something with data here
    },
    error: function(xhr, text_status){
        // Handle the server error
    }
});
它使用超时等待服务器来完成此操作。不幸的是,没有其他方法来判断服务器是否使用200响应以外的响应。

在:

error: function (xhr, tst, err) {
    $.log('XHR ERROR ' + XMLHttpRequest.status);
},
你可以用

error: function (XMLHttpRequest, textStatus, errorThrown) {
    $.log('XHR ERROR ' + XMLHttpRequest.status);
    return JSON.parse(XMLHttpRequest.responseText);
},
在发生错误时获取JSON响应

XMLHttpRequest.responseText

干杯。

你在说什么“数据”?如果存在服务器错误,那么任何“数据”将从何而来(xhr对象中的错误信息除外)?是的,JSON响应如下{'error':'Your account was not found.}您能否更新此答案以包含较新的成功/失败ajax样式?