如何在jquery ajax请求失败后检索响应头
问题显然很简单。我只想使用jquery恢复失败的POST请求生成的头如何在jquery ajax请求失败后检索响应头,jquery,ajax,error-handling,http-headers,Jquery,Ajax,Error Handling,Http Headers,问题显然很简单。我只想使用jquery恢复失败的POST请求生成的头 $.ajax({ type: "POST", url: "https://upload.box.com/api/2.0/files/content", beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', 'Bearer ' + 'wrong_token_to_force_f
$.ajax({
type: "POST",
url: "https://upload.box.com/api/2.0/files/content",
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ' + 'wrong_token_to_force_fail');
},
data: "form_data",
processData: false,
contentType: false,
success: function (response) {
var message = "File correctly uploaded.";
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},
});
尽管我能够看到状态代码,甚至Chrome开发者工具中的错误消息,但我无法在jquery错误回调中接收到这些信息
我一直在寻找类似的问题,但没有一个能解决我的问题。最建议的解决方案是使用GetAllResponseHeader和getResponseHeader方法,但在我的例子中,它们返回的是一个空字符串
编辑
这是“console.log(jqXHR);”的输出
如果
getResponseHeader
返回空字符串,则没有其他方法可以执行此操作。你确定你写的标题名没有任何拼写错误吗?是的,我非常确定我写的标题名没有拼写错误。jqXHR.getResponseHeader('Content-Type')返回一个空字符串,并且jqXHR.getAllResponseHeaders()可能您的问题缺少单词error/failed以便正确理解…标题已编辑,谢谢@Luiskabono