Установить заголовки на запрос запроса angular 2

Я пытаюсь настроить заголовок авторизации на запрос GET для аутентификации пользователей в API для отдыха. Я использую Angular 2 RC1. (Я - новичок).

getTest(){
    let authToken = localStorage.getItem('auth_token');
    let headers = new Headers({ 'Content-Type': 'application/json' });
    headers.append('Authorization', `Bearer ${authToken}`);

    let options = new RequestOptions({ headers: headers });
    return this._http
      .get(this._url,options)
      .map(res => console.log(res));
  }

Я разрешаю CORS в моем бэкэнде.

header("Access-Control-Allow-Origin: *");
header("Access-Control-Request-Headers: Content-Type, Authorization");

Моя консоль:

ОПЦИИ api/userProfile/

XMLHttpRequest не может загрузить /userProfile/. Ответ на предполетный недействительный код статуса HTTP 406

Мои заголовки запросов

Любая идея?

Ответы

Ответ 1

Я думаю, что вам нужен заголовок Accept, а из-за кода статуса 406...

let authToken = localStorage.getItem('auth_token');
let headers = new Headers({ 'Accept': 'application/json' });
headers.append('Authorization', `Bearer ${authToken}`);

let options = new RequestOptions({ headers: headers });
return this._http
  .get(this._url,options)
  .map(res => console.log(res));

Это позволяет вам сообщить серверу, какой тип контента вы ожидаете в ответе...

Заголовок Content-Type скорее указывает тип содержимого, отправленного в запросе. В вашем случае нет контента...

Ответ 2

autorization =  { Authorization: 'Token adfasdfadf651f65asd1f65asdf' }

this.http.get(url, { headers: autorization})