2012-07-11 207 views
31

當我們使用jQuery發起ajax請求時,我們如何訪問響應標頭?根據某些網站提供的建議,我嘗試使用下面的代碼。但是xhr對象即將爲空。在這種情況下,我看到一個xhr對象。但它沒有訪問響應頭的方法。jQuery - 獲取AJAX響應標頭

function SampleMethod(){ 
    var savedThis=this; 
     this.invokeProcedure=function(procedurePath){ 
      $.ajax({ 
        type: "GET", 
        url: procedurePath, 
        dataType: "json", 
        success: function(data,status,xhr){savedThis.resultSetHandler(data,status,xhr);} 
       }); 
     } 

     this.resultSetHandler=function(data,status,xhrObj){ 
      //Handle the result 
     } 

     this.errorHandler=function(args){ 
      //Handle the result 
     } 

    } 

var sampleObj=new SampleMethod(); 
sampleObj.invokeProcedure('url'); 

回答

64

對於使用XMLHttpRequest向後兼容,一個jqXHR對象將 暴露出以下屬性和方法:getAllResponseHeaders()getResponseHeader()。 從$就()DOC:http://api.jquery.com/jQuery.ajax/

的jQuery> 1.3

success: function(res, status, xhr) { 
    alert(xhr.getResponseHeader("myHeader")); 
}