gpt4 book ai didi

javascript - Angular $httpProvider 拦截器和 $resource

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:48 25 4
gpt4 key购买 nike

我有一个简单的 Angular 拦截器,它拦截请求并添加授权 header 。它还会拦截 401 的响应错误,以了解请求是否因授权而失败。

不幸的是,它似乎与 $resource 混淆,因为我的 $resource 调用总是返回成功回调并且从不返回错误(无论是 400 还是 500)。

它绝对是拦截器,因为如果我删除它,$resource 调用将返回正确的回调。

关于如何解决此行为的任何想法?

拦截器请求如下:

  function request(config) {
var token = 'whatever-my-token-is';

if (token) {
config.headers.authorization = token;
}

return config;
}

响应错误:

function responseError(response) {
if (response.status === 401) {
$rootScope.$broadcast('unauthorized');
}

return response;
}

感谢任何帮助

最佳答案

我认为你需要使用 promise 来返回错误。
$q 添加到您的拦截器工厂。像这样

$provide.factory('MyHttpInterceptor', function ($q){
...
})

然后有responseError()

function responseError(response) {
if (response.status === 401) {
$rootScope.$broadcast('unauthorized');
}

return $q.reject(response);
}

此链接也可能有帮助 https://djds4rce.wordpress.com/2013/08/13/understanding-angular-http-interceptors/

关于javascript - Angular $httpProvider 拦截器和 $resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085374/

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