Как получить поля заголовка Ajax в JavaScript?
Я использую следующее, чтобы сделать http GET:
$.ajax({
type: 'GET',
url: server + '/hello',
dataType: 'json',
async: false,
xhrFields: {
withCredentials: true
},
success: function(data){
if(data.connected){
},
error: function(a, b, c){
}
});
Я вижу, что они установлены в заголовках:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Authorization:Basic bGlkerrdN1NDpTdW55ytXIwMA==
Connection:keep-alive
Cookie:OBBasicAuth=fromCache;
ObSSOCookie=
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.10 Safari/537.36
Response Headersview source
Есть ли способ в Javascript или JQuery получить часть авторизации?
2 ответа
Решение
Не удалось заставить это работать в JavaScript.
Получил, что работает на стороне сервера, где я взял детали из заголовков, используя @context HttpServletRequest
, Затем захватил заголовки и отправил необходимые параметры обратно клиенту.
Это был единственный способ сделать это, насколько я читал из других источников, потому что у JavaScript нет доступа к этим файлам cookie и заголовкам, которые устанавливаются браузером.
Вот пример того, как установить и получить заголовок в вызове ajax
$.ajax({
type:"POST",
beforeSend: function (request)
{
request.setRequestHeader("Token", authorizationToken);
},
url: "entities",
data: "json=" + escape(JSON.stringify(createRequestObject)),
processData: false,
success: function(data, textStatus, request){
alert(request.getResponseHeader('some_header'));
},
});