在位置0 angularjs的JSON中出现意外的令牌v

时间:2017-04-20 14:01:06

标签: angularjs json cookies

我想把Json文件放在cookie中并以html显示但不起作用。这是我的代码

服务

.factory('dataServices',dataServices);




    function dataServices(){

        var cart =[];
            var services = {
                            cart    : cart,
                            addCart : addCart
                }
        return services
                          function addCart(tensp,gia,img,sl){
                            cart.push({tensp:tensp,gia:gia,img:img,sl:sl})
                        }
    }

在js

function shopController(dataServices,$cookies){
        var vm=this;
    vm.cart = dataServices.cart;
   vm.cookies = $cookies.getObject('cart'); // when I add it have error

        vm.add = function(tensp,gia,img){
            dataServices.addCart(tensp,gia,img,1);
                $cookies.putObject('cart',vm.cart);
                   console.log($cookies.getObject('cart'))
                    }
}

HTML

<button class="btn btn-primary"
                ng-click="vm.add(data.tensp,data.gia,data.img)">
                Add to Cart</button>

这是console.log中的数据显示

[{"tensp":"CPU INTEL CORE I5","gia":"400","img":"item14.jpg","sl":1}]

但是当我尝试写作时:vm.cookies = $cookies.getObject('cart'); 它有错误

  

在控制台

中位置0的JSON中出现意外的令牌v

enter image description here 这是我的错。请帮帮我

1 个答案:

答案 0 :(得分:1)

您应该使用JSON.stringify将Javascript Object转换为字符串 试试这个:

JSON.stringify($cookies.getObject('cart'));