我创建了一个应用程序,要求模板文件位于两个文件夹中 - 首先是没有限制的,第二个仅适用于登录用户。
当有人刷新页面并且会话过期之前,事情变得复杂了。在加载我想要避免的模板文件时,Angular在控制台中抛出错误(例如401)。有没有办法捕获该事件并访问响应状态,例如重定向页面?
答案 0 :(得分:1)
对于您的情况,我们可以在$location.url()
的帮助下捕获错误并重定向到页面。这是概念。现在我有一个控制器,在那里,我有成功的功能和错误功能。每当我们收到错误时,错误函数都会运行,我们可以传递您要重定向的页面的链接。
$http.get(url,[params])
.success(function(data, status, headers, config){
// bind your data to scope
})
.error(function(data, status, headers, config) {
$location.url('/404');
});
通过使用$routeProvider
,您可以配置类似的功能
这个:
$routeProvider
.when('/404', {
templateUrl: '404.html',
controller: 'yourcontroller'
});
您可以在此处看到$ {3}} $ location.url()
希望它有效