Проблема CORS: Access-Control-Allow-Headers в ответе предполётной проверки не разрешает авторизацию поля заголовка - PullRequest
0 голосов
/ 11 декабря 2018

В моем проекте я хочу запрашивать данные через сторонний API.И столкнулся с проблемой CORS следующим образом:

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

  getPositions () {
    return axios.get('http://api.metro.net/agencies/lametro/vehicles/')
  }

и, как видно из заголовка, браузер блокирует запрос следующим сообщением об ошибке:

Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response

Я кое-что знал о CORS и знал, что такое предпечатная проверка.Но все еще путают с вопросом.

Я проверяю проблему в devtools браузера.И обнаружил, что часть request headers выглядит следующим образом:

Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Origin: http://localhost:3001
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

Там был указан заголовок Access-Control-Request-Headers: authorization.Я думаю, что это причина этой проблемы.Но Access-Control-Request-Headers используется для того, чтобы сервер знал, какие заголовки HTTP будут использоваться при фактическом запросе Access-Control-Request-Headers .

Но я не планируючтобы отправить заголовок Authorization, как я показал в своем коде, я вообще не установил никаких заголовков.Так почему браузер блокирует запрос?

...