Axios не отправляет пользовательские заголовки в запросе (возможна проблема с CORS) - PullRequest
0 голосов
/ 30 мая 2018

Я столкнулся с проблемой, когда axios, похоже, не отправляет пользовательские заголовки с моими запросами.

Я использую это так:

axios({
  method: 'get',
  url: 'www.my-url.com',
  headers: { 'Custom-Header': 'my-custom-value' }
})

Однако, глядя нафактический запрос, отправляемый на сервер, пользовательский заголовок, кажется, нигде не существует.

REQUEST HEADERS:
  Accept: */*
  Accept-Encoding: gzip, deflate, br
  Accept-Language: es-ES,es;q=0.9
  Access-Control-Request-Headers: custom-header
  Access-Control-Request-Method: GET
  Connection: keep-alive
  Host: my-url.com

Я подозреваю, что это может быть проблемой CORS (заголовки ответа не включают в себя пользовательский заголовок вAccess-Control-Allow-Headers), но я хотел бы убедиться перед тем, как связаться с владельцами API по этому вопросу.

1 Ответ

0 голосов
/ 30 мая 2018

Хорошо.так что ваше дело - предполетный запрос.когда клиент пытается отправить настраиваемый заголовок, сервер должен проверить, что он принимает этот заголовок.

, поэтому в этом случае запрос параметров предварительной проверки отправляется с заголовком Access-Control-Request-Headers.если сервер отвечает, что он примет пользовательский заголовок.тогда фактический запрос будет отправлен.

в вашем случае заголовок ответа сервера - access-control-allow-headers не содержит вашего пользовательского имени заголовка.вот почему это не удалось.

enter image description here

Примечание: фактический запрос POST не включает заголовки Access-Control-Request- *;они нужны только для запроса OPTIONS. Прочтите эту статью для более подробного объяснения - cors - параметры вызова

...