我调用一个 ajax 函数并取回一些 JSON 数据。
我查看了数据,看起来服务器已按应有的方式响应
但是 FireBug 报告了一个问题,我的程序失败了。
这是 JSON 响应
{"status":"success","message":"item was added to cart OK","cost":38.5,"qty":11}
这是萤火虫的错误
SyntaxError: JSON.parse: unexpected character
return window.JSON.parse( data );
这是调用堆栈的屏幕截图;
这是Javascript
$('.submitform').click( function() {
$.post( 'myrll.com/cart/add', $('[name=myform]').serialize(), function(data) {
var new_data = jQuery.parseJSON(data);
if(new_data.status=='error')
{
alert(new_data.message);
}
else
{
add_item_to_cart(new_data.cost,new_data.qty);
}
},
'json' // I expect a JSON response
);
});
最后是我的 php 服务器脚本
$sys_message['status'] = 'success'
$sys_message['qty'] = $total_items; //this is INT
$sys_message['cost'] = $this->sfcart->total_cost_contents(); //FLOAT
$sys_message['message'] = $message; //string
echo json_encode($sys_message);return;