【问题标题】:Unexpected token v in JSON at position 0 angularjsJSON中意外的令牌v在位置0 angularjs
【发布时间】:2017-09-17 05:14:01
【问题描述】:

我想将 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

我的错在哪里。请帮帮我

【问题讨论】:

  • 你在 console.log($cookies.get('cart')) 行上得到了什么结果?
  • @ImmanuelKirubaharanS 这是我编辑的 getObject,我得到的数据有问题
  • 你能打开开发者工具->应用程序->cookies->yourdomain.com 并截取其中包含的内容吗?
  • 您能否在将结果分配给 vm.cookies 时尝试解析结果。就像 vm.cookies = JSON.parse($cookies.getObject('cart'));
  • @Leguest 我加了。你能告诉我哪里错了吗

标签: angularjs json cookies


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-03-19
    • 2016-12-13
    • 1970-01-01
    • 2020-02-05
    • 2021-09-12
    • 2018-10-17
    相关资源
    最近更新 更多