Заголовок полномочий добавляется только один раз в запрос AJAX CORS

Я вызываю свой RESTful API из Javascript в сценарии CORS.

Я использую JQuery для отправки моего аутентифицированного запроса POST. Вот пример:

function post(settings, addAccessToken) { settings.type = 'POST'; settings.cache = false; if (settings.dataType === undefined) settings.dataType = 'json'; if (addAccessToken) { settings.xhrFields = { withCredentials: true }; settings.beforeSend = function (request) { request.setRequestHeader('Authorization', 'Bearer '); }; settings.headers = { 'Authorization': 'Bearer ' }; } return $.ajax(settings); } 

На стороне сервера, я вижу, что первый вызов идет с заголовком «Авторизация» правильно оценен, а у всех остальных нет такого заголовка.

Что мне не хватает?

Спасибо

cghersi

Я решил свою проблему, поэтому хочу дать ответ всем остальным в той же ситуации.

1) Проблема заключалась в том, чтобы разрешить HTTP-запрос OPTIONS с сервера. Фактически, есть первый вызов одного и того же URL-адреса, но с глаголом «ОПЦИИ», а затем второй вызов реального URL-адреса с помощью метода POST | GET. Если сервер не отвечает должным образом на первый вызов «ОПЦИИ», например, указав правильные допустимые заголовки и т. Д., Второй вызов не работает.

2) Обозначение

 settings.headers = { 'Authorization': 'Bearer ' }; 

не работает. Единственный способ настроить заголовок:

 settings.beforeSend = function (request) { request.setRequestHeader('Authorization', 'Bearer '); }; 

Надеюсь, это поможет другим людям в будущем.

cghersi