如何配置 Http 服务,向调用添加标头。
我尝试以下方法
class GlobalHttpHeaders {
static setup(Injector inj){
HttpDefaultHeaders http = inj.get(HttpDefaultHeaders);
http.setHeaders([{"X-Requested-With":"XMLHttpRequest"}], "COMMON");
}
}
在应用程序中,最后一行是:
Injector inj = ngBootstrap(module: new SiteIceiModule());
GlobalHttpHeaders.setup(inj);
但这是行不通的。
(我认为)我让它工作:
@Injectable()
class MyDefaultHeaders extends HttpDefaultHeaders {
@override
setHeaders(Map<String, String> headers, String method) {
super.setHeaders(headers, method);
//if(method.toUpperCase() == 'POST') {
headers['X-Requested-With'] = 'XMLHttpRequest';
//}
}
}
@NgComponent(selector: 'my-comp', publishAs: 'ctrl', template:
'<div>My component</div>')
class MyComponent {
Http http;
MyComponent(this.http) {
//http.request('http://www.google.com/');
var h = http;
// debugger didn't show http so I filed https://code.google.com/p/dart/issues/detail?id=17486
Map m = {};
http.defaults.headers.setHeaders(m, 'GET');
print(m);
// prints:
// {Accept: application/json, text/plain, */*, X-Requested-With: XMLHttpRequest}
}
}
class MyAppModule extends Module {
MyAppModule() {
type(MyComponent);
type(HttpDefaultHeaders, implementedBy: MyDefaultHeaders);
init.createParser(this);
}
}
我无法检查http
验证标头,因为调试器没有向我显示该字段,但如评论中所述
当我申请时headers.setHeaders
在里面做一个地图MyComponent
我得到了我的自定义标头(这就是Http
与headers
)
我用了DI 0.0.33
, Angular 0.9.9
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)