2012-07-11 16 views
31

¿Cómo obtenemos acceso a los encabezados de respuesta cuando activamos una solicitud de Ajax usando jQuery? Intenté con el siguiente código según las sugerencias dadas en algunos sitios. Pero el objeto xhr viene como nulo. Veo un objeto xhr en este contexto. Pero no tiene métodos para acceder a los encabezados de respuesta.jQuery - obtenga encabezados de respuesta 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'); 

Respuesta

64

Para la compatibilidad hacia atrás con XMLHttpRequest, un objeto jqXHR será exponer las siguientes propiedades y métodos: getAllResponseHeaders() y getResponseHeader(). Desde el $ .ajax() doc: http://api.jquery.com/jQuery.ajax/

para jQuery> 1,3

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