Javascript 安格拉斯饼干

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(';');

我正在进行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(';');
    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版之前已被弃用,这取决于您查看的文档版本。