首页 文章

Angular2 - HTTP RequestOptions HEADERS

提问于
浏览
64

我目前对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'类型的参数 . 属性'header'的类型是不兼容的 . 类型'Headers'不能分配给'Headers'类型 . 两个不同存在具有此名称的类型,但它们不相关 . “ Headers ”类型中缺少属性“键” .

我很感谢这种支持 .

3 回答

  • 6

    Update for Angular 5

    import { RequestOptions } from '@angular/http';
    

    我在正确答案的评论中找到了这个,所以如果这有助于某人,祝你好运 .

    文档:https://angular.io/api/http/RequestOptions

  • 193

    Update

    截至今天, @angular/http 已经deprecated,应该使用 @angular/common/http . 因此,使用http标头的最佳方法是导入 import { HttpHeaders } from '@angular/common/http';documentation) .

    Old answer

    您要导入的 Headers 类型是 import { Headers } from '@angular/http'; .

    检查你的进口

  • 3

    您必须通过以下方式更新标头:

    let headers =  {headers: new  HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
    

相关问题