Прежде чем я совершу перекрестный вызов домена на сервер с стеком службы, я успешно аутентифицирован и получаю свой токен.ajax вызов перекрестного домена jquery не отправляет заголовок авторизации
Теперь я хочу сделать еще один вызов для получения данных:
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + getToken());
},
type: "GET",
url: requestUrl,
xhrFields: {
withCredentials: true
},
async: true,
dataType: 'json',
crossDomain: true
})
Когда я смотрю в моем Google Chrome Dev инструментов консоли я вижу это:
OPTIONS http://MyPc.company:82//customers 404 (Not Found)
OPTIONS http://MyPc.company:82//customers Invalid HTTP status code 404
XMLHttpRequest cannot load http://MyPc.company:82//customers.
Invalid HTTP status code 404 (index):1
Когда я смотрю в стельку я вижу этот запрос:
Inspectors => Auth: Нет заголовка авторизации.
Инспектора => Сырье:
OPTIONS http://MyPc.company:82//customers HTTP/1.1
Host: MyPc.company:82
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Request-Method: GET
Origin: http://MyPc.company
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Access-Control-Request-Headers: access-control-allow-origin, accept, access-control-allow-headers, authorization, access-control-allow-methods, content-type
Accept: */*
Referer: http://MyPc.company/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Почему заголовок авторизации не отправляется? Это кажется на первый взгляд проблемой происхождения для меня.
Вы не имеете никакого контроля над заголовками, посланных с предполетным (OPTIONS) запросом. Прочитайте предварительный просмотр здесь: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS#Preflighted_requests –
@RayNicholus "... поскольку настраиваемый заголовок установлен, этот запрос предварительно задан." Итак, теперь я знаю, что выполняю предполетный запрос, потому что я использую authorizationheader? Но как еще можно отправить токен на токен, чтобы проверить его? – HelloWorld
Вы можете прочитать это [ответ] (http://stackoverflow.com/questions/18991417/accessing-servicestack-authenticated-service-using-ajax/19006908#19006908), возможно, он решает вашу проблему. – stefan2410