2012-09-04 16 views
16

Duplicar posible:
Accessing HTTP Headers in Javascript?¿Cómo puedo leer los encabezados actuales sin realizar una nueva solicitud con JS?

La única manera de lo que sé leer con javascript las cabeceras actuales es:

var req = new XMLHttpRequest(); 
req.open('GET', document.location, false); 
req.send(null); 
var headers = req.getAllResponseHeaders().toLowerCase(); 

Pero yo no quiero hacer una nueva solicitud, quiero leer los encabezados actuales.

¿Esto es posible? Gracias!

+0

Puede encontrar la respuesta aquí: http://stackoverflow.com/questions/220231/accessing-http-headers-in-javascript –

+0

no quiero hacer una nueva solicitud – fj123x

+1

Si con "encabezados actuales" quiere decir los encabezados de la página cargada actualmente la respuesta es que no se puede. – WTK

Respuesta

18

No es posible acceder a los encabezados de página a través de Javascript, sin enviar una solicitud ajax.

+3

¿Puede poner un enlace que explique por qué? ... obviamente la pregunta es sobre los encabezados de respuesta. Están disponibles para el navegador y deben poder leerse en JS. – sorin

+4

Bueno, no lo son. Los encabezados de respuesta para solicitudes regulares (no las realizadas con xmlhttp (ajax)) son manejadas por el navegador y no están expuestas a Javascript. Mientras usa ajax, por otro lado, tiene acceso completo a ambos, encabezados de solicitud y respuesta. – WTK

+1

Entiendo que no son tan buenos, pero también tengo curiosidad por saber por qué. No puedo pensar en ninguna razón válida por la que sería malo para Javascript poder leer los encabezados de la solicitud actual. Especialmente si puede obtenerlos con una solicitud de Ajax a la misma página ... Es una solicitud desaprovechada tener que hacer una segunda solicitud para obtenerlos. Me encantaría poder tener datos de configuración de API en los encabezados e iniciar mi API en la solicitud inicial, sin tener que hacer algo raro, como usar campos ocultos o Javascript dinámico. –

Cuestiones relacionadas