Angular 2 JWT AuthHttp 错误 401 未捕获
Posted
技术标签:
【中文标题】Angular 2 JWT AuthHttp 错误 401 未捕获【英文标题】:Angular 2 JWT AuthHttp error 401 not catched 【发布时间】:2017-06-10 02:32:44 【问题描述】:我在 Angular 2 中有这个功能,在正常情况下效果很好:
private callGetUserService(url: string, id: string): Observable<any>
return this.authHttp.get(url + id)
.map(res =>
return this.extractData(res);
)
.catch((err) =>
console.log('Error getting account: ' + JSON.stringify(err));
return Observable.of(err);
);
当我强制服务器发出 401 响应时,catch(err) 总是返回 err.status = 0 和 err.ok = false。我完全不知所措,有人可以帮忙吗?
【问题讨论】:
任何人,请帮忙! 可能有点晚了,但是当您在控制台中查看网络活动时会返回什么? 【参考方案1】:由于提供的信息有限,我能提供的最佳帮助是猜测这可能与 CORS 失败的飞行前请求有关,该请求仅在您强制 401 响应时发生。
为什么这是我的猜测?
主要是因为:
CORS Error Response Status = 0
似乎每当 CORS 请求失败时,返回的响应总是 0。
AngularJS - $http get returns error with status 0?
您有 HTTP 访问控制 (CORS) 问题。
还请注意,解决 HTTP 相关问题的最佳方法是查看正在执行的实际 HTTP 请求。在浏览器中,您可以通过使用开发人员工具快速实现这一点,这将是我的建议。检查原始 HTTP 请求并查看可能导致您遇到的问题的不同情况。
【讨论】:
以上是关于Angular 2 JWT AuthHttp 错误 401 未捕获的主要内容,如果未能解决你的问题,请参考以下文章
Angular2-jwt - AuthHttp,刷新令牌,把它们放在一起
没有 AuthHttp 的提供者!在 angular2-jwt 上