我正在尝试使用以下代码访问端点网址
this.http.get<IApiResponse>(this.endpointURL, {headers: headers, params: params}).subscribe(
(response:IApiResponse) => {
// handle response
},
error => {
// handle error
console.log(error);
}
);
此方法可以正常工作。但是当我运行此应用程序的设备没有互联网连接时,我在chrome控制台中得到以下输出:
GET https://endpoint/file.php?someParams net::ERR_INTERNET_DISCONNECTED
和
HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}
error:ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}
headers:HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}
message:"Http failure response for (unknown url): 0 Unknown Error"
name:"HttpErrorResponse"
ok:false
status:0
statusText:"Unknown Error"
url:null
__proto__:HttpResponseBase
第二个输出似乎是来自console.log(error);
的输出,但是这个输出没有给我任何有用的信息("Unknown Error"
)。我不知道第一个错误消息来自哪里(它的背景在控制台中是红色的),但那是包含实际有用信息而我无法访问的信息。
如何确定
中的错误error => {
}
范围?
答案 0 :(得分:1)
你可以这样做:
import { Response } from '@angular/http';
(error: Response) => {
const text = error.text();
console.log(text);
});
但我想这仍然会引发&#34;未知错误&#34;。
从我的角度来看消息
GET https://endpoint/file.php?someParams net::ERR_INTERNET_DISCONNECTED
源于浏览器本身,无法通过Angular访问。