当我们使用jQuery触发ajax请求时,我们如何访问响应头?我试着用下面的代码根据一些网站的建议。但是xhr对象是空的。我在这个上下文中看到一个xhr对象。但它没有访问响应头的方法。
function SampleMethod(){ var savedThis=this; this.invokeProcedure=function(procedurePath){ $.ajax({ type: "GET",url: procedurePath,dataType: "json",success: function(data,status,xhr){savedThis.resultSetHandler(data,xhr);} }); } this.resultSetHandler=function(data,xhrObj){ //Handle the result } this.errorHandler=function(args){ //Handle the result } } var sampleObj=new SampleMethod(); sampleObj.invokeProcedure('url');
解决方法
For backward compatibility with XMLHttpRequest,a jqXHR object will
expose the following properties and methods: getAllResponseHeaders()
and
getResponseHeader().
From the $.ajax() doc : 07000
对于jQuery> 1.3
success: function(res,xhr) { alert(xhr.getResponseHeader("myHeader")); }