例如,当防火墙阻止我的任何后端访问时,我想显示带有url的弹出窗口。我应该得到403状态响应,但是我一直都处于状态0。
我在这里看到类似的主题,但我不知道是否应该使用它:
Angular http returning status 0,but I expect 404
该解决方案对您有好处吗?如果是,那我应该怎么用或在哪里使用?
在我的服务中应该只有error.status == 403,但我无法弄清楚如何获取真实状态,而不是0。
我不认为CORS是问题所在,因为如果防火墙阻止了我的请求,那么它将永远不会到达后端。我说的对吗?
this.httpClient.request(request).toPromise()
.then(
(res: any) => { // Success
resolve(res.body);
},(error: any) => { // Error
if (error.status == 403){
this.respondedWithError$.emit(error.url);
}
if (error.status == 0){
this.respondedWithError$.emit(error.error.currentTarget.__zone_symbol__xhrURL);
}
reject(error.error);
}
);
当前结果:
message: "Http failure response for (unknown url): 0 Unknown Error"
name: "HttpErrorResponse"
status: 0
statusText: "Unknown Error"
预期结果:
status: 403