我正在使用XMLHttpRequest对象上传图片。我正在使用WebStorm作为编辑器。这是代码:
uploadUserImage (files: File[], callback : any): void {
let formData: FormData = new FormData();
let xhr = new XMLHttpRequest();
for (let i = 0; i < files.length; i++) {
formData.append("File", files[i], files[i].name);
}
xhr.open('POST', this._baseUrl + '/users/images', true);
xhr.setRequestHeader('x-jwt-token', this._securityService.getJwt());
xhr.onload = function(){
callback(JSON.parse(this.responseText));
};
xhr.send(formData);
}
问题是在回调中我传递了this.responseText。 WebStorm将此对象标识为XMLHttpRequestEventTarget。当我尝试运行NPM Start时出现错误:
错误TS2339:属性&#39; responseText&#39;在类型&#39; XMLHttpRequestEventTarget&#39;。
上不存在
我想我需要将它添加到打字中,但我不确定要添加什么。有任何想法吗?
提前谢谢你。
答案 0 :(得分:2)
有an issue跟踪此信息。在修复之前,您可以使用
xhr.addEventListener('load', function() {
});
摆脱类型错误。
另一方面,如果您正在使用angular,则不需要直接使用XMLHttpRequest。 @angular/http是更好的选择。