我正在通过jQuery的$ .ajax()方法发出一个AJAX请求。
我已使用以下方式指定了成功回调:
$.ajax({
...
success: function(data, textStatus, xhr) {
...
}
});
是否可以在回调中看到发送了哪些请求标头?例如,要检索特定的请求标头值?
编辑:要求是我没有“拥有”调用AJAX请求的代码,只有回调。我需要检查回调是否传递了特定标头。
e.g。
在他们的代码中是:
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader('A','B');
},
success: rogersCallbackMethod
});
然后在我的代码中我想说出这样的话:
function rogersCallbackMethod(data, textStatus, xhr) {
if (xhr.getRequestHeader('A') == 'B') {
...
}
}
答案 0 :(得分:2)
答案 1 :(得分:1)
好吧,我认为这是一个有效的问题,并在尝试自己解决问题时遇到了这个问题。
您可以使用this
上下文。我正在使用url属性,但还有其他几个。
以下是解决我问题的一个例子。 (请注意,我可以控制AJAX调用代码,但不能控制服务器端代码,这是应该返回“bIDold”的地方。)
$.post(url, obj, function(data) {
var bIDold = this.url.match(/bID=(\d*)/)[1];
var bIDnew = data.bID;
if (bIDold != bIDnew) { ... }
});
你的意思是:
if (this.url.match(/A=([^&]*)/)[1] == 'B') { ...
答案 2 :(得分:0)
使用beforeSend方法查看XMLHttpRequest对象或对其进行修改。
答案 3 :(得分:0)
查看Fiddler。它适用于IE和Firefox。