如何通过扩展BrowserXhr在Angular2中设置标题?
问题描述:
我正在为Angular 2应用程序设置标题。 这里是我的代码:如何通过扩展BrowserXhr在Angular2中设置标题?
@Injectable()
export class browserXhr extends BrowserXhr {
constructor() {}
build(): any {
let xhr:XMLHttpRequest = super.build();
xhr.setRequestHeader('X-Custom-Header', 'value');
return <any>(xhr);
}
}
当我运行它给错误
答
没有你张贴的错误,它只是猜测工作,以什么地方出了错。但可能你应该在构造函数中添加一个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?);
调用此方法后,您就可以设置您的请求头
+0
我应用上面的方法,但它给错误我发布它的问题部分。 – Teekam
能否请你加你的错误这个问题。 – M4R1KU
它在 - > xhr.setRequestHeader('X-Custom-Header','value');说不能设置。 – Teekam