【发布时间】:2016-06-06 17:14:16
【问题描述】:
我搜索了如何设置我的所有请求的默认 Http 标头,我发现如何在 Angular 2 中使用 bootstrap 函数实现,但它在 Ionic 2 中不可用,如本问题 How to set default HTTP header in Angular2? 中所述。
我想将 Content-Type 标头设置为 application/json 而不是在每个请求中设置它
我一直在尝试覆盖 BaseRequestOptions 并将它们注入我的应用程序中,但我无法覆盖它们。
app.ts
...
import {BaseRequestOptions, Headers, HTTP_PROVIDERS, Http, RequestOptions} from '@angular/http';
@Injectable()
export class MyRequestOptions extends BaseRequestOptions{
headers:Headers = new Headers({
'Content-Type': 'application/json; charset=UTF-8'
});
}
@App({
template: '<ion-nav [root]="rootPage"></ion-nav>',
config: {},
providers: [HTTP_PROVIDERS, MyRequestOptions]
})
export class MyApp {
rootPage: any = HomePage;
constructor(platform: Platform) {
// init
}
}
myService.ts
import {Injectable} from '@angular/core';
import {Http, Headers} from '@angular/http';
@Injectable()
export class MyService {
constructor(private http: Http) {
}
getUser(id) {
return this.http.post('/api/User/Get/', JSON.stringify({ id: id }));
}
}
我遗漏了一些东西,我是否使用了错误的providers 注入?
【问题讨论】:
标签: typescript ionic-framework angular ionic2