Angular2-заголовки HTTP RequestOptions
В настоящее время у меня есть проблема с tslint и я надеялся, что кто-то может указать мне правильное направление.
Я пытаюсь отправить запрос HTTP GET, используя HTTP, предоставляемый платформой Angular2. В этом запросе я должен указать тип содержимого и маркер аутентификации носителя.
Пример моего кода:
let headers = new Headers();
let authToken = this._user.getUser().JWT;
headers.append('Content-Type', 'application/json');
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });
this._http.get('http://' + url '/', options)
.timeout(3000)
.subscribe(
(res) => {
Это работает, однако, тслинт жалуется, что
"TS2345: аргумент типа' { headers: Headers;} ' не присваивается параметр введите 'RequestOptionsArgs'. Типы свойств "заголовки" несовместимость. Тип "заголовки" не присваивается типу "заголовки". Существуют два различных типа с таким названием, но они не связаны между собой. Собственность "ключи" отсутствует в тип 'заголовков'."
Я ценю вашу поддержку.
3 ответа:
Обновить
На сегодняшний день
@angular/http
был устаревшим, и вместо него следует использовать@angular/common/http
. Поэтому лучший способ работы с заголовками http-это импортimport { HttpHeaders } from '@angular/common/http';
(документация ).Старый ответ
Тип
Headers
, который вы должны импортировать, -import { Headers } from '@angular/http';
.Проверьте импорт
Вы должны обновить заголовки следующим образом:
let headers = {headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
Обновление для Angular 5
import { RequestOptions } from '@angular/http';
Я нашел это в комментариях к правильному ответу, так что если это кому-то поможет, удачи.
Документация: https://angular.io/api/http/RequestOptions