2012-07-11 5 views
31

Wie erhalten wir Zugriff auf die Antwort-Header, wenn wir eine Ajax-Anfrage mit jQuery auslösen? Ich habe versucht, mit dem untenstehenden Code gemäß den Vorschlägen in einigen Websites gegeben. Aber xhr Objekt kommt als Null. Ich sehe ein xhr Objekt in diesem Zusammenhang. Es verfügt jedoch nicht über Methoden zum Zugriff auf Antwortheader.jQuery - AJAX Antwort Header

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'); 

Antwort

64

Für Rückwärtskompatibilität mit XMLHttpRequest, ein Objekt wird jqXHR belichten die folgenden Eigenschaften und Methoden: getAllResponseHeaders() und getResponseHeader(). Vom $ Schnipsel() doc: http://api.jquery.com/jQuery.ajax/

Für jQuery> 1,3

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