Версия Chrome: 57.0.2987.
На самом деле, в более старой версии Chrome у меня тоже есть эта проблема. Я добавил Authorization
в заголовок запроса с моим токеном доступа,
fetch('https://example.com/endpoint', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + accesstoken
}
})
Я всегда получаю Access-Control-Allow-Headers:authorization
в заголовке ответа в Chrome. Кроме того, My fetch всегда использует метод запроса: OPTIONS (не отображать GET), тогда Status Code
соответствует 200 OK в Chrome.
Но если я запускаю тот же код выборки в Firefox (версия 52.0.1), все работает отлично. Я могу правильно добавить Authorization
в Заголовок запроса. Он не будет отображать Access-Control-Allow-Headers:authorization
в заголовке ответа в Firefox. Он будет отображать Authorization: Bearer accesstoken
в заголовке запроса.
Сторона сервера уже обработала CORS для моего заголовка запроса.
Это ошибка Chrome или ошибка моего кода? Как мне правильно сделать Authorization
в Заголовке запроса в Chrome?
На изображении ниже показана подробная информация Сеть в инструменте разработки Chrome:
На изображении ниже показана подробная информация Сеть в инструменте разработки Firefox:
fetch()
? - person Anne   schedule 19.03.2017fetch()
не отклонил. Но он не может правильно установитьAuthorization
в заголовке запроса, он просто останавливается на этапе предварительной проверки CORS. Я также публикую Network в firefox. он может завершить предварительную проверку CORS, затем для метода GET правильно установитьAuthorization
в заголовке запроса. - person Seven Lee   schedule 19.03.2017