2011-09-27 10 views
24

Intentando obtener los encabezados de Solicitud del objeto XHR, pero sin suerte, ¿hay algún método oculto o propiedad de ese objeto que exponga los encabezados enviados por el navegador?obtener encabezados ENVIADOS en XMLHttpRequest

Ya sé cómo establecer encabezados de solicitud personalizados y ver los encabezados de respuesta, estoy buscando obtener una lista de todos los encabezados de SOLICITUD enviados, los creados por el navegador y los personalizados.

Estoy usando webkit/chrome, no me preocupan otros navegadores.

EDIT: No estoy buscando monitorear la solicitud, estoy construyendo una aplicación web y necesito enumerar esos encabezados y mostrarlos dentro de la aplicación, por favor no me hablen de las herramientas fiddler, firebug y cromo eso no es lo que estoy buscando

+0

Se puede visualizar el código utilizado por usted? – AmGates

+1

Podría, pero eso haría una pequeña diferencia, con cualquier solicitud de XHR, ¿puede uno acceder a los encabezados de solicitud al igual que se puede acceder a los encabezados de respuesta con xhr.getAllResponseHeaders() –

+2

Parece que no se puede .... al menos de acuerdo la especificación W3C. Una opción podría ser que su servidor devuelva todos los encabezados de solicitud. La otra opción sería usar las herramientas de Chrome para ver el DOM y quizás Chrome tiene una propiedad legible a la que puedes llamar a través de tu script. – trydyingtolive

Respuesta

20

No hay ningún método en el XMLHttpRequest API para obtener los encabezados de solicitud enviados . Hay métodos para obtener los encabezados de respuesta solamente, y establecer encabezados de solicitud.

Tendrá que hacer que el servidor repita los encabezados o usar un detector de paquetes como Wireshark.

2

Pruebe usar Fiddler Web Debugger.

http://www.fiddler2.com/fiddler2/

Puede capturar la solicitud que se envió en cualquier navegador, así como inspeccionar las cabeceras de petición, cabeceras de respuesta, e incluso copiar una solicitud de captura enviado y enviarlo como propio.

+3

Necesito acceder a los encabezados en javascript, no quiero monitorear las solicitudes externamente. –

-1

Suponiendo que está utilizando jQuery, y está buscando algo adjunto, pero tal vez no TODOS los encabezados enviados, esto podría ayudar. No está seguro si cumple con sus necesidades exactas, (ya que el navegador tiende a añadir sus propias cosas), pero si usted necesita para tomar sus propias cabeceras primero, esto funciona:

$.ajaxSetup({ 
    beforeSend: function (jqXHR, settings) { 
     if(!(settings.headers && settings.headers.token)) { 
      //no token header was set, so set the request header 
      jqXHR.setRequestHeader('token', newtoken); 
     } 
    } 
}) 
Cuestiones relacionadas