Я делаю SPA, при успешном входе в систему я устанавливаю cookies(username,userid,etc.)
, содержащие информацию о пользователе, получаемую из api.Cookies in AngularJS
установить печенье с помощью PHP:
setcookie("NAME",$records['userinfo']['name'],time()+(20 * 365 * 24 * 60 * 60));
получить его с помощью JavaScript:
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
Пытаться показать в контроллере:
angular.module('App', [])
.controller('UserProfileCtrl', function($scope) {
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
$scope.username = getCookie('NAME');
})
index.html:
<html data-ng-app="App" data-ng-controller="AppCtrl">
<head>
<link rel="stylesheet" type="text/css" href="css/app.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<script src="js/app.js"></script>
</head>
<body data-ng-class="{'skip-animations':disabled}" class="ng-cloak">
<div class="list-group" data-ng-controller="UserProfileCtrl">
<p>Welcome</p>
<div class="username">{{username}}</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 user">
<div class="user-bg-image">
<img src="images/user-bg.png">
<div class="user-img"><img src="{{userimage}}">
</div>
</div>
</div>
<ul class="user-profile clearfix">
<a href="#123"><li>Edit Profile</li></a>
<a href="#123" onclick="logout()"><li>Logout</li></a>
</ul>
</div>
</body>
</html>
Он отлично работает с перегрузкой в app.On перезагрузки мы можем получить данные куки (username
).
Проблема:
Как мы можем получить эти куки без перезагрузки приложения.
Любая помощь будет оценена по достоинству. Спасибо
Просто вызовите метод восстановления файлов cookie всякий раз, когда захотите .. –
@pankajparkar, он отлично работает с перезагрузкой страницы, где я хочу показать данные cookie. Но проблема в том, что я хочу показывать данные на одной странице без перезагрузки. –
@pankajparkar, Итак, у вас есть идея, как я могу это сделать с помощью углового. Я использую угловое решение для того, чтобы сделать SPA.so доступ к файлам cookie без перезагрузки страницы, –