我正在提出请求然后我就堕胎了.
var x = $.get(url, function (d, e, xhr) { alert(d); });
x.abort();
Run Code Online (Sandbox Code Playgroud)
问题是它执行success函数并返回空数据... (例如这里)
是否有一个jQuery方法可以中止?或者有没有办法检查是否xhr已中止?
我的服务中有以下代码
myService.ts
makeHttpGetRequest(url){
return Observable.interval(config.SUPERVISOR_REFRESH_INTERVAL * 1000)
.switchMap(() => this.http.get(url))
.map(res => res.json())
.timeout(config.REQUEST_TIMEOUT * 1000, new Error('Time out occurred'))
}
Run Code Online (Sandbox Code Playgroud)
在我的组件文件中
myComponent.ts
ngOnInit(){
this._myService.makeHttpGetRequest(myurl)
.subscribe(
data => {
this.supervisorServers = data;
}
},
error => {
this.error = true;
console.log(error); //gives an object at this point
this.showError(error);
}
);
}
Run Code Online (Sandbox Code Playgroud)
我想在例如Invailid url的情况下打印错误消息.当我打印错误时,我得到一个对象(可能是响应对象),如下所示:
Object { _body: error, status: 200, statusText: "Ok", headers: Object, type: 3, url: null }
Run Code Online (Sandbox Code Playgroud)
如果我打开它,我找不到错误信息.是否有更好的方法来获取precies错误消息?