我正在为Angular 2 app设置标题。 这是我的代码:
@Injectable()
export class browserXhr extends BrowserXhr {
constructor() {}
build(): any {
let xhr:XMLHttpRequest = super.build();
xhr.setRequestHeader('X-Custom-Header', 'value');
return <any>(xhr);
}
}
我跑的时候会给出错误
答案 0 :(得分:1)
如果没有你发布错误,它只是猜测出了什么问题。但是可能你应该在构造函数中添加一个super()
调用。另一个兴趣点是除了首都之外几乎同名的班级。通常的做法是在PascalCase
中添加您的班级名称:
@Injectable()
export class MyBrowserXhr extends BrowserXhr {
constructor() {
super(); //<-- here
}
build(): XMLHttpRequest {
let xhr:XMLHttpRequest = <XMLHttpRequest>super.build();
xhr.open(method, url, async?, user?, password?); //fill in the correct details
xhr.setRequestHeader('X-Custom-Header', 'value');
return xhr;
}
}
发布错误后,您首先需要做的事情很明显。在设置请求标头之前,您必须使用open
方法打开请求:
xhr.open(method, url, async?, user?, password?);
调用此方法后,您将可以设置请求标头