如何在Angular js(或)JQuery中更新Cookie值

时间:2013-11-25 05:47:36

标签: javascript jquery cookies

我正在更新Cookie值。我在使用Angular js进行编写。 在这里我需要更新现有的cookie,但我无法更新那个。

这是我的代码,请任何一个评论并建议我。

$.ajax({
    type : "POST",
    url : appUrl + "/Login",
    data : {
        username : user,
        password : pwd,
        page : "home"
    },
    dataType : 'json',
    success : function(obj) {
        if (obj.direction != "") {
            var myAry = obj.LoginUserDetails[0];
            //alert("The json array is---->>>"+myAry.partnerid);
            setCookie('LoginDetails', JSON.stringify(myAry));

经过一些操作后,我得到了像这样的cookie

var storedAry = JSON.parse(getCookie('LoginDetails'));

并执行一些操作

.ajax({
 url : appUrl+ '/EditPartner',
data : data1,                                                                                        
cache : false,                                                          
contentType : false,
processData : false,                                                                                                                                       
type : 'POST',                                                  
success : function(data) {                                                  
var txt = data;                                                 
var obj = eval('('+ txt + ')');                                                 

loginuserdetails = obj.allregdetails[0];// setCookie('LoginDetails',                                                        

现在使用此cookie后我想更新我的cookie,因为我按照以下步骤

setCookie('LoginDetails', JSON.stringify(myAry));//but not succedd so try below code


document.cookie = "LoginDetails"+ "="+ escape(JSON.stringify(loginuserdetails));

之后我通过获得cokkie值但未更新

进行测试
var logindetailsvalues = JSON.parse(getCookie('LoginDetails'));                                                             
console.log("details after updation---->>"+ getCookie('LoginDetails'));                                                             

1 个答案:

答案 0 :(得分:0)

对于角度使用角度cookie文件($ cookieStore)http://jsfiddle.net/krimple/9dSb2/

var myApp = angular.module('myApp', ['ngCookies']);

myApp.controller('CookieCtrl', function ($scope, $rootScope, $cookieStore) {
    $scope.bump = function () {
        var lastVal = $cookieStore.get('lastValue');
        if (!lastVal) {
            $rootScope.lastVal = 1;
        } else {
            $rootScope.lastVal = lastVal + 1;
        }
        $cookieStore.put('lastValue', $rootScope.lastVal);
    }
});

myApp.controller('ShowerCtrl', function () {
});

其他例子

<script>
    angular.module('myApp', ['ngCookies']);
    function CookieCtrl($scope, $cookieStore) {
    $scope.lastVal = $cookieStore.get('tab');

    $scope.changeTab = function(tabName){
        $scope.lastVal = tabName;
        $cookieStore.put('tab', tabName);
    };
    }
</script>

对于Jquery

使用https://github.com/carhartl/jquery-cookie
示例代码

$.cookie('the_cookie', 'the_value', { expires: 7 });
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
$.cookie('the_cookie'); // reading => "the_value" 
$.removeCookie('the_cookie');