Не удалось получить пользовательские заголовки в почтовом запросе $ajax

Я использую веб-API .NET. Для авторизации я добавляю пользовательские токены в заголовки следующим образом:

введите здесь описание изображения

Проблема в том, что я не могу получить «Токен авторизации» из ответа на стороне клиента. Я пробовал как с Angular $http, так и с jQuery $ajax. Когда я использую Fiddler, я получаю все заголовки, которые были отправлены в ответ. Включая настраиваемый заголовок «Авторизация-токен».

Это код jQuery $ajax:

$.ajax({
 type: "POST",
 url: "http://localhost:16879/api/authentication/register",
 data: {
 Email: "blablagmail.com",
 Password: "password1"
}
}).complete(function( a, b) {
 console.log(b.getAllResponseHeaders();
});

И результат:

Результат запроса ajax

Результат с использованием Fiddler:

введите здесь описание изображения

Можно ли получить все заголовки, отправленные с сервера в запросе $ajax?

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


person Are Almaas    schedule 19.04.2013    source источник
comment
При междоменных вызовах в браузерах пользовательские заголовки ответов не читаются должным образом. В мобильных приложениях PhoneGap настраиваемые заголовки ответов могут быть прочитаны для междоменных вызовов, даже если они не будут работать в браузерах.   -  person Nishanth Nair    schedule 20.04.2013


Ответы (1)


Вам лучше использовать тело для передачи токена доступа, который также предлагается в ресурсе OAuth 2.0. предоставление пароля владельца

Я видел, как в некоторых потоках говорилось, что jquery не может устанавливать пользовательские заголовки, если ответ не увенчался успехом.

person Hongye Sun    schedule 19.04.2013