我正在为一个小应用程序使用角度js。在这里,我需要实现登录和注销功能。为此,我正在实施会议。但它不起作用。 在这里,我使用的是一个常见的js文件" AppCtrl.js"对于每个要包含的页面。
Angular JS文件:(AppCtrl.js)
var app = angular.module('TaskManager', []);
app.run(function(Session) {}); //bootstrap session;
app.factory('Session', function($http) {
var Session = {
data: {},
saveSession: function() { //save session data to db
},
updateSession: function(value) { // load data from db
Session.data = user;
}
};
return Session;
});
登录页面:( LoginController)
app.controller('LoginController', function($scope, $http, $location, Session) {
$scope.login = function(str) {
$http({
method: 'POST',
url: '../TaskManager/public/user/login',
data: $.param({email : email.value, password : password.value}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data, status)
{
var result=data.response;
if (result=="success")
{
Session.updateSession("LoggedIn"); /* Updating the session value */
$scope.session = Session;
document.getElementById('hiddenForm').setAttribute("action","./Dashboard.html");
document.getElementById('hiddenForm').submit();
}
else
alert(data.message);
});
}
对于登录页面,会话正在运行并将值更新为" LoggedIn"。但是当它重定向到仪表板时,会将会话显示为空白。
仪表板页面:( DashboardController)登录成功后,它将重定向到dashboard.html
app.controller('DashboardController', function($scope, $http, $location, Session) {
$scope.session = Session;
------------
------------
}
我需要在所有页面中保持会话值。但它对我没用。
有任何建议/示例吗?