gpt4 book ai didi

angularjs - 矩形 : addResponseInterceptor not working

转载 作者:行者123 更新时间:2023-12-02 04:22:09 24 4
gpt4 key购买 nike

我正在从事 angularjs 项目。

app.js中,我使用addResponseInterceptor来拦截对服务器的每个请求。如果响应中没有错误(response.status == 200 OK),那么它就完美了。但我特别想在 (response.status == 401) 时进行拦截。在这种情况下,我想将用户重定向到登录页面。但这不起作用。

这是我的 app.js addResponseInterceptor 的代码:

RestangularProvider.addResponseInterceptor(function(data, operation, what, url, response, deferred) {
if (response.status === 401)
{
window.location = 'To the login page';
} else
{
var extractedData;
extractedData = data;
return extractedData;
}
});

当请求拒绝获取数据时,我收到这些错误

enter image description here

我尝试通过“console.log(response)”调试响应,但它没有显示任何内容。看起来如果响应中有错误,那么它不会进入拦截器 block 。

最佳答案

你需要的是error-intecetpr。下面的例子

Restangular.setErrorInterceptor(function(response, deferred, responseHandler) {
if(response.status === 403) {
refreshAccesstoken().then(function() {
// Repeat the request and then call the handlers the usual way.
$http(response.config).then(responseHandler, deferred.reject);
// Be aware that no request interceptors are called this way.
});

return false; // error handled
}

return true; // error not handled
});

关于angularjs - 矩形 : addResponseInterceptor not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29667322/

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