我有一个登录应用程序,在这里我需要使用angular.js使用会话和cookie。我正在解释下面的代码。
loginController.js:
var loginAdmin=angular.module('Channabasavashwara');
loginAdmin.controller('loginController',function($scope,$http,$location){
$scope.user_name = '';
$scope.user_pass = '';
$scope.user_login=function(){
if($scope.user_name==''){
alert('user name filed should not keep blank');
}else if($scope.user_pass==''){
alert('password filed should not keep blank');
}else{
var userData={'user_name':$scope.user_name,'user_pass':$scope.user_pass};
console.log('user',userData);
$http({
method: 'POST',
url: "php/Login/login.php",
data: userData,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).then(function successCallback(response){
console.log('response',response);
alert(response.data['msg']);
$location.path('dashboard');
},function errorCallback(response) {
alert(response.data['msg']);
});
}
}
});
这里我的要求是当用户成功登录时,会话将存储,并且在注销时它将移动。类似地,cookie将存储一些到期时间(lets say 10 min
),在时间到期后它将退出自动发送一条警报信息。请帮帮我。
答案 0 :(得分:0)
使用angularjs for cookie required模块下载并添加到ngCookie的项目中,并在here添加示例,但您也可以使用基本的javascript获取和设置cookie。
以下是setCookie函数,该函数获取cookie name
,cookie value
以及Cookie过期天数。您可以在用户登录时设置Cookie ,并在注销时删除。
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
angularjs cookie的示例
angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
// Retrieving a cookie
var favoriteCookie = $cookies.get('myFavorite');
// Setting a cookie
$cookies.put('myFavorite', 'oatmeal');
}]);