这个问题上有很多,但我不明白为什么它不工作,它现在停止了。我运行查询并返回一个对象与PHP,然后尝试将其编码到JSON,然后解析它的客户端到JSON。它告诉我,SyntaxError:JSON.parse:JSON数据后的意外的非空白字符。将php对象编码为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"}
该脚本的其他部分在您显示的PHP代码之前回显'16'。 – Barmar
你在做'echo $ _GET ['product_id'];'在你调用'echo json_encode($ product);'某处? – MonkeyZeus