Заголовок авторизации не решен из заголовка предварительной проверки в междоменном запросе ajax - PullRequest
0 голосов
/ 20 июня 2019

Я хочу получить доступ к кросс-домену от https://A/ до https://B/ с jquery ajax.

Мой заголовок запроса выглядит так:

Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Origin: https://A
Referer: https://A/test/index.html

На самом деле на стороне сервера установлены все необходимые заголовки:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,C$
Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT,PROPFIND,PROPPATCH,NOTIMPLEMENTED,OPTIONS,UNLOCK,MKCOL,COPY,LOCK,MOVE,HEAD
Access-Control-Allow-Origin: https://A
Access-Control-Max-Age: 1728000

Но мой Google Chrome все еще отправляет только заголовки предпечатной проверки, а не настоящие, поэтому я продолжаю получать ошибку 401. Я что-то пропустил?

Обновление: Chrome выдает следующее сообщение об ошибке:

Ответ на предполётный запрос не проходит проверку контроля доступа: HTTP не имеет статуса ok.

1 Ответ

0 голосов
/ 20 июня 2019

Хорошо, у меня есть обходной путь. Я добавил следующий PHP-код в запрошенный документ.

if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
    http_response_code(200);
    exit;
}

Но я все еще открыт для любых лучших решений.

...