我有一个php文件,它返回基于$ http帖子的json结果,如下所示:
现在,在我的控制器中,我希望将03-1314-00916
或data[0]['student_number']
存储为角度会话,以便我可以在任何控制器中的任何位置使用它。我将如何制作它。
app.controller('signInCtrl', function($scope, $stateParams, $http) {
$scope.txtUsername = '';
$scope.txtPassword = '';
$scope.signIn = function(){
$http.post('http://infoyon_login.php',
{'username' : this.txtUsername, 'password': this.txtPassword})
.success(function(data){
if(data[0]['logged'] === true)
{
$scope.unable = false;
console.log(data[0]);
console.log(data[0]['student_number']);
here --> someSessionVar = data[0]['student_number'];
//window.location = '#/app/dashboard';
}else{
//console.log('unable to login');
$scope.unable = true;
}
//console.log(data[0]['logged']);
})
}
}) //end controller

答案 0 :(得分:0)
使用HTML5 sessionStorage
if(data[0]['logged'] === true)
{
$scope.unable = false;
console.log(data[0]);
console.log(data[0]['student_number']);
sessionStorage.setItem('student_number', data[0]['student_number']);
//window.location = '#/app/dashboard';
}
要检索
$scope.studentNumber = sessionStorage.getItem('student_number');
答案 1 :(得分:0)
您想要创建服务。如果您需要在解析页面之前让它出现,您需要在$route.resolve()
函数中调用该服务,您将添加到$routeProvider
逻辑中。至于方法,您可以使用第一个答案中描述的Web存储API,或者如果它是应用程序的关键部分,您可以考虑将其存储在$rootScope
中。警告:其他评论者可能不同意该选项,但确实有时间和地点使用$rootScope
。