在其他控制器中不访问在一个控制器中设置的cookie

时间:2017-01-27 09:31:57

标签: javascript jquery angularjs cookies

我已将cookie设置在一个控制器中,并想检查它是否在另一个控制器中设置。 我设置cookie数据的控制器是

app.controller('CtrlVehicle', function ($scope, $http, $rootScope, $cookieStore, $location, $timeout) {
$scope.viewed_status = $.cookie('view_status');

alert($scope.viewed_status);

    $scope.skip_details = $.cookie('skip_details');

    $(".lead_form").submit(function ()
    {
 $.cookie('view_status', "viewed");
  });
 $scope.$on('$routeUpdate', function () {
//        alert()
    });

    var my_array = [];

    //alert(JSON.stringify(my_array));

    if ($cookieStore.get('saved'))
    {
        //alert();
        my_array = $cookieStore.get('saved');
    }

    $new = [];

    if (my_array.length >= 1)
    {



        for (var i = 0; i < my_array.length; i++)
        {

            //delete my_array[i];
            //alert( JSON.stringify(my_array[i][0].vin)) ;
            if ((my_array[i].vin))
            {
                $new.push(my_array[i].vin);

            }


        }

    }



    $rootScope.saved_array = $new;

});

我希望在调用CtrlUsed控制器时提醒这些数据

这是另一个控制者。

app.controller('CtrlUsed', function ($scope, $http, $rootScope, $cookieStore, $location, $timeout) {

    $scope.viewed_status = $.cookie('view_status');

   alert($scope.viewed_status);

    });

当我尝试在CtrlVehicle中提醒其设置并说“&#34;已查看&#34;但是当我尝试使用CtrlUsed时,它会说&#34; undefined&#34;

1 个答案:

答案 0 :(得分:1)

您从未在问题中给出的上述代码中设置Cookie。

而不是使用$cookieStore尝试使用$cookies并设置/获取如下: -

$cookies.put('user', ValueOfUser);
$cookies.get('user');

同时获取与您设置的名称相同的Cookie ...