2017-03-02 69 views
1

我正在使用Angular 2.4.8。我想为每个请求附加自定义标题。我使用BaseRequestOptions来定义自定义标题并将其添加到应用程序提供商。以下是代码。使用附加或设置设置标题在Angular 2中不起作用

import { BaseRequestOptions, Headers } from '@angular/http'; 
import { Injectable } from '@angular/core'; 

@Injectable() 
export class AppBaseRequestOptions extends BaseRequestOptions { 
    public merge(headers: Headers) { 
    headers.append('Content-type', 'application/json'); 
    headers.append('My-Custom-Header', 'My-Custom-Header-Value'); 
    return super.merge(headers); 
    } 
} 

提供如下。

providers: [ 
    { provide: BaseRequestOptions, useClass: AppBaseRequestOptions } 
    ] 

我试图headers.appendheaders.set但都抛出

Cannot read property 'append' of null
Cannot read property 'set' of null

回答

1

你忘了?

let headers: Headers = new Headers(); 
+0

我觉得headers.append应该向现有的头文件添加头文件,但是不会。我只是担心知道通过创建新的标题()不应该覆盖现有的标题列表。 – Shamsher

+0

现有的标题?那是空的? –

+0

看起来像创建新的Headers()作品。谢谢 – Shamsher