Estou criando um aplicativo de front-end com React e Redux e estou usando axios para executar minhas solicitações. Gostaria de ter acesso a todos os campos no cabeçalho da resposta. No meu navegador, posso inspecionar o cabeçalho e ver que todos os campos necessários estão presentes (como token, uid, etc ...), mas quando ligo
const request = axios.post(`${ROOT_URL}/auth/sign_in`, props);
request.then((response)=>{
console.log(response.headers);
});
Eu recebo apenas
Object {content-type: "application/json; charset=utf-8", cache-control: "max-age=0, private, must-revalidate"}
Aqui, a guia Rede do meu navegador, como você pode ver, todos os outros campos estão presentes.
Bests.
http-headers
es6-promise
axios
TWONEKSONE
fonte
fonte
axios.defaults.headers
para configurar os parâmetros de cabeçalho REQUEST? Eu preciso acessar o RESPONSE. @BenHareRespostas:
No caso de solicitações CORS, os navegadores podem acessar apenas os seguintes cabeçalhos de resposta por padrão:
Se você deseja que seu aplicativo cliente possa acessar outros cabeçalhos, defina o cabeçalho Access-Control-Expose-Headers no servidor:
fonte
expose: ['Access-Token', 'Uid']
a origem 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;
Ainda só vejocontent-type: "application/pdf"
realmente precisa puxarcontent-disposition
Isso realmente me ajudou, obrigado Nick Uraltsev pela sua resposta.
Para aqueles que usam nodejs com cors :
No caso de você estar enviando a resposta no caminho de
res.header('Authorization', `Bearer ${token}`).send();
fonte
Eu estava enfrentando o mesmo problema. Você fez isso no meu "WebSecurity.java", trata-se do método setExposedHeaders na configuração de cors.
Eu espero que dê certo.
fonte
Enfrentou o mesmo problema no núcleo do asp.net Espero que isso ajude
fonte
De acordo com documentos oficiais :
Isso pode ajudar se você desejar os cabeçalhos HTTP com os quais o servidor respondeu . Todos os nomes de cabeçalho são escritos em letras minúsculas e podem ser acessados usando a notação entre colchetes. Exemplo:
response.headers['content-type']
fornecerá algo como: cabeçalhos: {},fonte
Para o SpringBoot2 basta adicionar
ao código de implementação do filtro CORS para ter uma lista de permissões
custom-header1
ecustom-header2
etcfonte
para ajuda do django
fonte
Para o Spring Boot 2, se você não quiser usar a configuração global do CORS, poderá fazê-lo por método ou nível de classe / controlador usando uma
@CrossOrigin
anotação comexposedHeaders
atributo.Por exemplo, para adicionar cabeçalho
authorization
paraYourController
métodos:fonte