当用户登录到网页后输入无效的网页url时,应使用AngularJS引发文件未找到404错误
在允许用户访问网页后,当用户输入无效url时,我试图抛出404错误。例如,home是登录页面,我允许用户以(home/)的身份登录页面,我可以抛出404错误。登录页面后,用户输入名为(/employee)的url,当用户输入(/employee/invalid url)时,我很难抛出404错误。有人能告诉我怎么做吗?我的代码如下: 运行(函数($rootScope、$window、$location、SessionService、$cookies、$cookieStore){ }));当用户登录到网页后输入无效的网页url时,应使用AngularJS引发文件未找到404错误,angularjs,Angularjs,在允许用户访问网页后,当用户输入无效url时,我试图抛出404错误。例如,home是登录页面,我允许用户以(home/)的身份登录页面,我可以抛出404错误。登录页面后,用户输入名为(/employee)的url,当用户输入(/employee/invalid url)时,我很难抛出404错误。有人能告诉我怎么做吗?我的代码如下: 运行(函数($rootScope、$window、$location、SessionService、$cookies、$cookieStore){ })); 上面的代
上面的代码只为(/employee)而不是(/employee/invalid url)抛出404。您不应该检查传递给函数的nextRoute参数,而不是$location.path()(当前路径)?为什么上面的代码为
/employee
路由抛出404页?你确定吗/employee
应该与第二个if(..)
构造匹配,它应该将用户重定向到/employee
,或者什么都不做。您不应该检查传递给函数的nextRoute参数而不是$location.path()(当前路径)?为什么上面的代码为/employee
路线抛出404页?你确定吗/employee
应该与第二个if(..)
构造匹配,它应该将用户重定向到/employee
,或者什么都不做。您不应该检查传递给函数的nextRoute参数而不是$location.path()(当前路径)?为什么上面的代码为/employee
路线抛出404页?你确定吗/employee
应该与第二个if(..)
构造匹配,它应该将用户重定向到/employee
,或者什么也不做。
$rootScope.$on("$routeChangeStart", function (event, nextRoute, currentRoute) {
var currentpath = $location.path();
currentpath = currentpath.split('/');
if (currentpath[1] === "") {
$location.path("/home");
}
else if (currentpath[1] === "employee") {
if ((nextRoute.access && nextRoute.access.requiredLogin) && !$window.sessionStorage.boid) {
$location.path("/employee");
}
}
else if (currentpath[1] === "department") {
if ((nextRoute.access && nextRoute.access.requiredLogin) && !$window.sessionStorage.retailerid) {
$location.path("/department");
}
} else
{
$location.path("/404.html");
}
});