将php对象编码为json

时间:2013-11-04 18:20:35

标签: javascript php json

这个主题有很多,但我无法弄清楚为什么它不起作用,它现在已经停止了。我运行一个查询并使用php返回一个对象,然后尝试将其编码为json,然后将其客户端解析为json。它告诉我SyntaxError:JSON.parse:JSON数据之后出现意外的非空白字符。

我的PHP代码:

$product = ShoppingCart::addToCart($_GET['product_id']);

echo json_encode($product);

客户端代码:

$.get(
    './models/shoppingCart.inc.php',
    {product_id: id},   
    function(data) { 
        var product = JSON.parse(data)

        $('#cart_qty').html(cartQty);

        var table=document.getElementById("table_products");
        var row=table.insertRow(1);
        var cell1=row.insertCell(0);
        var cell2=row.insertCell(1);
        var cell3=row.insertCell(2);
        cell1.innerHTML=product.product_name;
        cell2.innerHTML=product.price;
        cell3.innerHTML=qty;

    },
    'html' 
);  

};

这是返回的内容:

16{"product_id":"16","product_name":"Pavlova","price":"17.4500","supplier":{"company_name":"Pavlova, Ltd.","address":"74 Rose St.\r\nMoonie Ponds","phone":"(03) 444-2343","city":null,"contact_name":"Ian Devling","contact_title":"Marketing Manager"},"units_in_stock":"29","units_on_order":"0","reorder_level":"10","category_id":"3","qty_per_unit":"32 - 500 g boxes","discontinued":"0","supplier_id":"7"}

1 个答案:

答案 0 :(得分:2)

您的php脚本中有一些调试输出,或者在打开<?php标记之前有内容。必须删除json前面的16。找出它的来源并将其删除。