Javascript 安格拉斯饼干
我正在进行SPA,成功登录后,我设置Javascript 安格拉斯饼干,javascript,php,angularjs,cookies,Javascript,Php,Angularjs,Cookies,我正在进行SPA,成功登录后,我设置cookies(用户名、用户ID等),其中包含从api获取的用户信息 使用PHP设置cookie: setcookie("NAME",$records['userinfo']['name'],time()+(20 * 365 * 24 * 60 * 60)); function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';');
cookies(用户名、用户ID等)
,其中包含从api获取的用户信息
使用PHP设置cookie:
setcookie("NAME",$records['userinfo']['name'],time()+(20 * 365 * 24 * 60 * 60));
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');
})
<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>
使用javascript获取它:
setcookie("NAME",$records['userinfo']['name'],time()+(20 * 365 * 24 * 60 * 60));
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');
})
<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>
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(var i=0;i我建议使用它,它为您做了很多这方面的工作,包括会话cookie
此外,在成功登录后,您可能只想在回调中用JS编写cookie。您应该使用,这是最好的方法,如果您想在DOM的任何部分保留该数据,请使用$cookieStore
无论如何,这里是不同之处
$cookieStore
提供由会话cookie支持的键值(字符串对象)存储。从该存储中放入或检索的对象由angular的toJson/fromJson自动序列化或反序列化
$cookies
提供对浏览器cookie的读/写访问
用法,与@Dan Doyon分开
更新
根据@lucky7id的评论,他是对的,$cookieStore
已被弃用,所以请继续使用几乎相同的$cookies
。只要随时调用cookie Retrval方法即可。@pankajparkar,重新加载我想显示cookie数据的页面效果很好。但问题是我想在页面上显示数据同一页没有reloading@pankajparkar,那么,你知道我如何使用angular实现吗..我正在使用angular进行SPA。因此,如果希望访问cookie数据而不重新加载页面,我将按照你的建议执行相同的操作。cookie是用JS编写的,但如何使用angular在同一页面中显示它。$cookies
服务具有get()
和getObject()
methods,您只需将存储cookie的密钥传递给相应的方法。我传递了密钥,但如何在不刷新应用程序的情况下将其显示给用户。@RohitJindal您可以更新您的帖子以显示您在何处添加了$scope绑定和相应的标记吗?$cookieStore
不推荐使用:/I认为它的$cookies
现在@lucky7id我正在开发的移动应用程序中使用$cookieStore
。@TheUnnamed它在1.3.x版之前已被弃用,这取决于您查看的文档版本。