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. 如何在Angular2中設置@Input的默認參數?
- 4. 如何在Sonata中爲用戶設置默認頭像?
- 5. Angular2 [選擇]無法設置默認值?
- 6. 如何設置Datetimepicker的默認設置?
- 7. 在Angular2的http服務中設置Accept-Encoding標頭
- 8. 如何在DropDownListFor中設置默認值
- 9. 爲所有http請求設置默認標頭不起作用
- 10. 在DelegatingFilterProxy中設置HTTP頭
- 11. 如何設置默認baseUrl
- 12. 如何設置默認值?
- 13. 在Angular2 HTTP POST中設置JSON請求標頭
- 14. Angular2如何設置單選按鈕與默認值檢查
- 15. 如何爲http設置header使用angular2
- 16. 如何設置JPEG圖像的默認響應頭
- 17. 如何在Angular2中爲廣播時間表設置默認日期url參數
- 18. 如何在DataTemplate上設置默認值?
- 19. 如何設置 - 默認在git中設置標誌?
- 20. 如何在Objective-C中爲HTTP設置http標頭?
- 21. Graphviz:如何設置'默認'箭頭樣式?
- 22. 如何在OpenCV中設置軌跡條的默認位置?
- 23. 如何設置Joomla中的選項默認設置
- 24. Angular2頭未設置POST
- 25. 如何設置默認的默認圖像(no_pic.gif)php?
- 26. 如何使用Root.plist的默認設置?
- 27. 如何設置UISegmentedControl的默認狀態?
- 28. 如何設置默認值的MySQL
- 29. 如何設置tensorflow的默認版本?
- 30. 如何設置默認的字符集?
有沒有我們可以修改返回在服務中觀察到的一種方式。就像改變請求開始或結束時發生的情況一樣?我們將如何做到這一點? – xmaestro
總之,我們可以修改返回的observable嗎? – xmaestro
使用選項2,以下是通過擴展Http類添加默認http標頭(並捕獲http錯誤)的全面指南 - http://www.adonespitogo.com/articles/angular-2-extending-http-provider/ –