Похоже, что jQuery не отправляет по заголовку Authorization
при отправке запроса OPTIONS
перед запросом POST
(или, возможно, другими типами). Сервер, к которому я пытаюсь добраться, возвращает статус 401 для запроса OPTIONS
- как я могу заставить jQuery включить заголовок Authorization
даже в этом первоначальном запросе?jQuery.ajax не отправляет заголовок авторизации с запросом OPTIONS
$.ajax({
type: "POST",
url: url,
data: postData,
beforeSend: function ajaxBeforeSend(jqXHR) {
jqXHR.withCredentials = true;
jqXHR.setRequestHeader("Authorization", "Basic " + btoa(encodeURIComponent(escape($username.val())) + ":" + encodeURIComponent(escape($password.val()))));
},
success: runReportUrlCallback,
error: runReportErrorCallback
});
Я также попытался добавить username
и password
к параметрам AJAX, но безрезультатно.
Возможный дубликат [Почему запрос запроса предварительной проверки запрошенного запроса CORS работает в Chrome, но не в Firefox?] (Http://stackoverflow.com/questions/15734031/why-does-the-preflight-options-request -of-an-authenticated-cors-request-work-in) – suish
Похоже, что сервер, не требующий авторизации по запросу OPTIONS, является единственным способом его исправить. – suish
Я не «владею» сервером. Это сторонний веб-сервис. –