我正在使用一个安全的 api,它要求我在每个请求上发送一个 Authorization 标头,这工作正常。但是,我在处理 401 响应时遇到了问题。
我对 API 的调用如下:
let headers: Headers = new Headers();
headers.append('Authorization', 'Bearer ' + {myauthtoken});
let request = this.http.get(Utils.getUrl('/somesecuredmethod'), { headers: headers });
request.subscribe(
result => { this.setLoginDetails(result); },
error => {
this.loginFailed = true;
this.reasonLoginFailed = error;
return true;
});
在错误中我可以看到响应代码 401,但是我还在 chrome 控制台中看到以下内容
GET https://localhost/somesecuredmethod 401 (User not found in database.)
有谁知道我怎样才能得到 angular 的消息文本?
谢谢,乔恩。
编辑:
我之前使用纯 ajax 调用了相同的方法,如下所示,并且可以获得错误文本。
$.ajax({
url: baseurl + "/somesecuredmethod",
method: "get",
headers: { 'Authorization': 'Bearer ' + accessToken }
}).done(function (data) {
// do something with the success
}).fail(function (jqXHR, status, err) {
$("#loading_application").addClass("hidden");
$("#login_failed_reason").text(err); <--- here I can the error text shown in the dev console
$("#login_failed").removeClass("hidden");
});