簡體   English   中英

Angular2 - HTTP RequestOptions HEADERS

[英]Angular2 - HTTP RequestOptions HEADERS

我目前對tslint有一個問題,希望有人能指出我正確的方向。

我正在嘗試使用Angular2框架提供的HTTP發送HTTP GET請求。 有了這個請求,我必須指定內容類型和承載認證令牌。

我的代碼示例:

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) => {

然而,這是有效的,tslint抱怨說

“TS2345:類型'{headers:Headers;}'的參數不能分配給'RequestOptionsArgs'類型的參數。屬性'headers'的類型是不兼容的。類型'Headers'不能分配給'Headers'類型。兩種不同的類型存在此名稱,但它們不相關。“標題”類型中缺少屬性“鍵”。

我很感謝這種支持。

更新

截至今天, @angular/http已被棄用 ,而@angular/common/http應該被使用。 因此,使用http標頭的最佳方法是import { HttpHeaders } from '@angular/common/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

//內容類型Json的標頭示例

import { Http, Headers, RequestOptions } from '@angular/http';

const Url = 'http://localhost:3000/';
const headers = new Headers;
const body = JSON.stringify({
title: "data" 
});
headers.append('Content-Type', 'application/json');
this.http.post(Url, body, { headers: headers })
.pipe(map((res => res)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM