Axios получает доступ к полям заголовка ответа



Я создаю интерфейсное приложение с React и Redux, и я использую axios для выполнения моих запросов. Я хотел бы получить доступ ко всем полям заголовка ответа. В моем браузере я могу проверить заголовок, и я вижу, что все поля, которые мне нужны, присутствуют(например, токен, uid и т. д...), но когда я звоню



const request = axios.post(`${ROOT_URL}/auth/sign_in`, props);
request.then((response)=>{
console.log(response.headers);
});


Я вам просто



Object {content-type: "application/json; charset=utf-8", cache-control: "max-age=0, private, must-revalidate"}


здесь моя вкладка сеть браузера,как вы можете видеть все остальные поля подарок.



enter image description here



Bests.

907   2  

2 ответов:

в случае запросов CORS браузеры могут получить доступ только к следующим заголовкам ответов по умолчанию:

  • Cache-Control
  • Content-Language
  • Content-Type
  • истекает
  • Последнего Изменения
  • Pragma

Если вы хотите, чтобы ваше клиентское приложение имело доступ к другим заголовкам, вам нужно установить Access-Control-Expose-Headers заголовок на сервере:

Access-Control-Expose-Headers: Access-Token, Uid

это мне очень помогло, спасибо Нику Уральцеву за ваш ответ.

Если вы используете nodejs С cors:

...
const cors = require('cors');

const corsOptions = {
  exposedHeaders: 'Authorization',
};

app.use(cors(corsOptions));
...

в случае, если вы отправляете ответ на пути res.header('Authorization', `Bearer ${token}`).send();

Comments

    Ничего не найдено.