2016-01-23 2 views

Antwort

13

ich zwei Möglichkeiten sehen, das zu tun:

  • Option # 1: Verwenden Sie die BaseRequestOptions Klasse

Sie können diese Klasse erweitern und die für jede Anforderung zu verwendende Kopfzeile festlegen:

@Injectable() 
export class DefaultRequestOptions extends BaseRequestOptions{ 
    headers:Headers = new Headers({ 
     'Content-Type': 'application/x-www-form-urlencoded' 
    }); 
} 

und registriert sie, wie unten beschrieben:

bootstrap(AppComponent,[ 
    HTTP_PROVIDERS, 
    provide(RequestOptions, { useClass: DefaultRequestOptions }) 
}); 
  • Option # 2: verlängern die Http Klasse selbst

Sie könnte auch die Http Klasse erweitern und stellen Sie die gewünschte Header, wie unten beschrieben:

Und es registriert, wie unten beschrieben:

bootstrap(AppComponent, [ 
    HTTP_PROVIDERS, 
    provide(Http, { 
    useFactory: (backend: XHRBackend, defaultOptions: RequestOptions) => new CustomHttp(backend, defaultOptions), 
    deps: [XHRBackend, RequestOptions] 
    }) 
]); 

Hoffe, es hilft Ihnen, Thierry

+0

Gibt es eine Möglichkeit wir die Rückkehr zu beobachten innerhalb des Dienstes ändern. Wie ändert sich, was passiert, wenn die Anfrage gestartet oder beendet wird? Wie werden wir das machen? – xmaestro

+0

Kurz gesagt, können wir das Observable, das zurückgegeben wird, modifizieren? – xmaestro

+1

Mit der Option 2, hier umfassende Anleitung auf Standard-HTTP-Header hinzugefügt (und fangen http Fehler) durch die Http-Klasse erweitern - http://www.adonespitogo.com/articles/angular-2-extending-http-provider/ –