11
A
回答
3
不能使用像成才爲$httpProvider
,但angular1您可以創建自己的CustomHttp
類擴展/包默認Http
,並添加你的頭。
看看AuthHttp
源代碼angular2-jwt
庫: https://github.com/auth0/angular2-jwt/blob/master/angular2-jwt.ts
13
我看到兩種方法可以做到這一點:
- 選項#1:使用
BaseRequestOptions
類
您可以擴展此類並設置標題以用於每個請求:
@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions{
headers:Headers = new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
});
}
而且,如下所述其註冊:
bootstrap(AppComponent,[
HTTP_PROVIDERS,
provide(RequestOptions, { useClass: DefaultRequestOptions })
});
- 選項#2:延長
Http
類本身
您還可以擴展Http
類和設置您需要的標題,如下所述:
@Injectable()
export class CustomHttp extends Http {
constructor(backend: ConnectionBackend, defaultOptions: RequestOptions) {
super(backend, defaultOptions);
}
request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
return super.request(url, options);
}
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
// Add headers into options
(...)
return super.get(url, options);
}
(...)
}
並將其註冊爲如下所述:
bootstrap(AppComponent, [
HTTP_PROVIDERS,
provide(Http, {
useFactory: (backend: XHRBackend, defaultOptions: RequestOptions) => new CustomHttp(backend, defaultOptions),
deps: [XHRBackend, RequestOptions]
})
]);
希望它可以幫助你, 蒂埃裏
相關問題
- 1. Angular2默認HTTP標頭與templateURL
- 2. Angular2設置默認路由
- 3. 如何設置默認的PHP頭()
- 4. 如何在Angular2中設置@Input的默認參數?
- 5. $ .ajax:如何覆蓋默認http標頭
- 6. Angular2 [選擇]無法設置默認值?
- 7. 如何在Sonata中爲用戶設置默認頭像?
- 8. 需要設置所有http請求的默認標頭
- 9. 在頭設置默認JS網址
- 10. 如何在HTTP頭中設置REMOTE_USER?
- 11. 如何重置選擇默認值Angular2
- 12. 在Angular2的http服務中設置Accept-Encoding標頭
- 13. 如何設置Datetimepicker的默認設置?
- 14. 如何在DropDownListFor中設置默認值
- 15. 如何在NopDropDownList中設置默認值...?
- 16. 如何在jsp中設置默認值?
- 17. 如何在text_field中設置默認值?
- 18. 如何在forge.prefs中設置默認值?
- 19. 如何在Jplayer中設置默認值
- 20. Angular2 HTTP頭默認共同授權令牌
- 21. 爲所有http請求設置默認標頭不起作用
- 22. 在DelegatingFilterProxy中設置HTTP頭
- 23. 在Angular2 HTTP POST中設置JSON請求標頭
- 24. 如何設置默認baseUrl
- 25. 如何設置默認值
- 26. 如何設置默認值?
- 27. Angular2如何設置單選按鈕與默認值檢查
- 28. 如何使用angular2反應形式設置默認選擇值?
- 29. 如何設置默認設置
- 30. 如何爲http設置header使用angular2
有沒有我們可以修改返回在服務中觀察到的一種方式。就像改變請求開始或結束時發生的情況一樣?我們將如何做到這一點? – xmaestro
總之,我們可以修改返回的observable嗎? – xmaestro
使用選項2,以下是通過擴展Http類添加默認http標頭(並捕獲http錯誤)的全面指南 - http://www.adonespitogo.com/articles/angular-2-extending-http-provider/ –