如下所示:

//方案1:能用,但token信息不能寫在服務中,應該用全局變量替代,而且還得考慮參數(shù)復合問題。
@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions {
constructor() {
super();
this.headers.set('Content-Type', 'application/json');
}
}
export const requestOptionProvider = {provide: RequestOptions, useClass: DefaultRequestOptions};
//方案2:能用,比較正規(guī)的實現(xiàn),但以后請求就只能用myHttp對象了,而且還要考慮參數(shù)復合問題。
export class myHttp extends Http {
defaultHeaders = new Headers({
'Content-Type': 'application/json'
});
constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions, private appInitService: AppInitService) {
super(_backend, _defaultOptions);
}
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
let optionBuf = new RequestOptions({
headers: this.defaultHeaders,
params: {'token': this.appInitService.token}
});
//here extend options;
return super.get(url, optionBuf);
}
}
export function myHttpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, appInitService: AppInitService): myHttp {
return new myHttp(xhrBackend, requestOptions, appInitService); // 創(chuàng)建myHttp對象
}
export const myHttpProvider = {
provide: myHttp,
useFactory: myHttpFactory,
deps: [XHRBackend, RequestOptions, AppInitService]
};
文章名稱:angular2實現(xiàn)統(tǒng)一的http請求頭方法-創(chuàng)新互聯(lián)
URL標題:http://chinadenli.net/article8/diidip.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、軟件開發(fā)、建站公司、面包屑導航、自適應網站、小程序開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容