javascript - 无法使用存储在本地存储中的值解析页面
问题描述
我正在研究 angularjs 代码,我在其中创建了一个工厂方法,用于在登录成功后将用户重定向到配置文件页面,并在工厂方法中更新标志变量。我附在路由上的解析属性没有按预期工作,而且似乎“islogged”变量没有读取从本地存储中检索到的值。
.when('/Login',{
templateUrl: "/views/login.html",
controller: "logctrl",
})
.when('/Profile',{
templateUrl: "/views/profile.html",
resolve: ["authService",function(authService){
return authService.checkstatus();
}]
});
});
app.factory("authService",function($location){
return {
"islogged" : localStorage.getItem("islog"),
checkstatus :function() {
if(this.islogged)
return true;
else
$location.path(['/Login']);
return false;
}
}
});
这是登录的控制器:
app.controller('logctrl',function($scope,$http, $location){
localStorage.setItem("islog",false);
$scope.log = function(){
var uname = $scope.username;
var pass = $scope.password;
var logobj = {
"username" : uname,
"password" : pass
};
$http.post("http://localhost:3000/sign",logobj).then((resp)=>{
$location.url(resp.data);
localStorage.setItem("islog",true);
}).catch((err)=>$location.url("/"));
}
});
解决方案
推荐阅读
- asp.net-mvc - 上传 12MB 文件时 POST Ajax 500(内部服务器错误)
- algorithm - 为每个用户管理访问日志的最佳方式是什么?
- json - 想要在 json 正文中使用值和关键字进行映射
- javascript - 当动作调度多个圣人被调用 - Reactjs
- rest - API 平台在 normalizationContext 和 denormalizationContext 上没有显示名字和姓氏
- angular - 如何以角度形式获取所选文件的音频或视频持续时间
- django-rest-framework - 调整 Django Rest Framework 中限制访问的数量
- phaser-framework - 如何确保游戏对象不是在任何其他对象之上生成的
- javascript - 服务器无法访问时如何清除cookie
- javascript - 触摸外部输入时在移动设备上保持键盘打开