我正在写一个REST API。它在出错时返回标题状态400。
但是,在AJAX方面,我无法返回jqxhr对象。
$.get('site.php', function(data, status, jqxhr) function(data) {
//...
}).error(console.log(jqxhr));
它返回Uncaught ReferenceError: jqxhr is not defined
在检查器控制台中,它显示获取请求的400(错误请求)。
如何获取错误请求文本?
我可以通过在标题状态200中传递它来返回数据中的文本错误,但这不是正确的方法我是否正确?
答案 0 :(得分:2)
error
函数想要一个回调函数,但您正在执行console.log(jqxhr)
并尝试将其返回值作为回调传递给error
,这就是您在哪里&#39} #39; re" jqxhr未定义"错误来自。
你想要这样的东西:
$.get('site.php', function(data, status, jqxhr) function(data) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
// Do something interesting.
});
您还应使用fail
代替error
作为error
is going away:
弃用通知:jQuery 1.8中不推荐使用
jqXHR.success()
,jqXHR.error()
和jqXHR.complete()
回调。要准备最终删除的代码,请改用jqXHR.done()
,jqXHR.fail()
和jqXHR.always()
。