gpt4 book ai didi

javascript - 当http请求授权失败时,Ionic 2从服务导航

转载 作者:行者123 更新时间:2023-11-28 04:40:52 25 4
gpt4 key购买 nike

在我的 ionic 2 应用程序中,我有 4 个服务,它们都发出 http 请求。可以从我的应用程序中的 8 个不同页面访问这些服务。我想处理授权 token 过期或删除或任何变体的情况。因此,如果用户点击其中一项服务,并且它返回 401 未经授权错误,我该如何处理该错误并导航到我的登录页面,而不必在使用这些服务的所有 8 个页面上设置条件。

重申:我更愿意在服务中处理发出请求的错误,并从那里导航到我的登录页面,这可能吗?

有更好的方法来处理这个问题吗? 任何建议将不胜感激。

这是我想要的流程:

  • 在任何页面上,从我的一项服务(正在使用中)发出​​ API 请求
  • 如果请求返回未经授权的错误(服务中)
    • 清除用户数据(服务中)
    • 导航至登录页面(正在使用中)
  • 否则(假设请求成功)
    • 解析/使用我的页面(in page)中的数据

最佳答案

您可以使用拦截器检查状态代码,如果响应为 401,则重定向到登录页面。我希望你一定了解拦截器的实现

angular
.module('myProject.myModule')
.config(['$httpProvider', function ($httpProvider) {

$httpProvider.interceptors.push(['$q', '$location', function ($q, $location) {
return {
'responseError': function(response) {
if(response.status === 401) {
$location.path('/login');
}
if(response.status === 200) {
return $q.resolve(response);
}
return $q.reject(response);
}
};
}]);
}]);

关于javascript - 当http请求授权失败时,Ionic 2从服务导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com