Estoy creando una aplicación frontend con React y Redux y estoy usando axios para realizar mis solicitudes. Me gustaría tener acceso a todos los campos en el encabezado de la respuesta. En mi navegador puedo inspeccionar el encabezado y puedo ver que todos los campos que necesito están presentes (como token, uid, etc.), pero cuando llamo
const request = axios.post(`${ROOT_URL}/auth/sign_in`, props);
request.then((response)=>{
console.log(response.headers);
});
Solo consigo
Object {content-type: "application/json; charset=utf-8", cache-control: "max-age=0, private, must-revalidate"}
Aquí mi pestaña de red del navegador, como puede ver, todos los demás campos están presentes.
Bests.
http-headers
es6-promise
axios
TWONEKSONE
fuente
fuente
axios.defaults.headers
para configurar los parámetros del encabezado SOLICITAR? Necesito acceder a la RESPUESTA. @BenHareRespuestas:
En caso de solicitudes CORS, los navegadores solo pueden acceder a los siguientes encabezados de respuesta de forma predeterminada:
Si desea que su aplicación cliente pueda acceder a otros encabezados, debe configurar el encabezado Access-Control-Expose-Headers en el servidor:
fuente
expose: ['Access-Token', 'Uid']
el origen como:resource '*', :headers => :any, :methods => [:get, :post, :put, :patch, :delete, :options, :head], expose: ['Access-Token', 'Uid']
'Access-Control-Expose-Headers' 'Authorization, X-Suggested-Filename, content-disposition' always;
Todavía solo veocontent-type: "application/pdf"
realmente la necesidad de tirarcontent-disposition
Esto realmente me ayudó, gracias Nick Uraltsev por tu respuesta.
Para aquellos de ustedes que usan nodejs con cors :
En el caso de que envíe la respuesta en la forma de
res.header('Authorization', `Bearer ${token}`).send();
fuente
Estaba enfrentando el mismo problema. Hice esto en mi "WebSecurity.java", se trata del método setExposedHeaders en la configuración de cors.
Espero que funcione.
fuente
Enfrenté el mismo problema en asp.net core Espero que esto ayude
fuente
Según los documentos oficiales :
Esto puede ayudar si desea los encabezados HTTP con los que respondió el servidor . Todos los nombres de encabezado están en minúsculas y se puede acceder mediante la notación de corchetes. Ejemplo:
response.headers['content-type']
dará algo como: encabezados: {},fuente
Para el SpringBoot2 solo agregue
a su código de implementación de filtro CORS para incluirlo en la lista blanca
custom-header1
ycustom-header2
etc.fuente
para ayuda de django
fuente
Para Spring Boot 2, si no desea utilizar la configuración global de CORS, puede hacerlo por método o nivel de clase / controlador utilizando una
@CrossOrigin
notación conexposedHeaders
atributo.Por ejemplo, para agregar encabezado
authorization
paraYourController
métodos:fuente