我从Magento database
获取数据,我需要将其作为Json object
返回,并将数据添加到视图中的表中。我得到了一个html响应,而不是一个有效的json。
这是错误消息: -
DataTables警告:table id = order_list - 无效的JSON响应。对于 有关此错误的更多信息,请参阅 http://datatables.net/tn/1
这是我的控制器代码:
public function prepareJson(){
$orders = Mage::getModel('sales/order')->getCollection()->setOrder('created_at', 'DESC')->setPageSize(25);
$total_records = $this->orderModObj->get_total();
$tableData = array();
$jsonObj =new \stdClass();
$jsonObj->sEcho = 5;
$jsonObj->iTotalRecords = $total_records;
$jsonObj->iTotalDisplayRecords = $total_records;
foreach ($orders as $ordercus) {
array_push($tableData, $ordercus);
}
$jsonObj->aaData = array($tableData);
$tableJSON = json_encode($jsonObj);
return $tableJSON;
}
这是我的观看代码
<table id="order_list" class="table table-bordered table-striped" data-page-length="25">
这是json结构
{
"sEcho": "5",
"iTotalRecords": 2708,
"iTotalDisplayRecords": 2708,
"aaData": [
["300000374", "16-11-2017", "16-11-2017", "title ", "charith m ", "<img src=\"http:\/\/mysite.lk\/dif.gif\" class=\"image\" alt=\"profile picture\">charith", "AUD 100.00", "<div class=\"processing\">Processing<\/div>", "<a class=\"tb-edit\" href=\"http:\/\/mysite.lk\/view\/300000374\">View <\/a>"]
]
}
这是javascript代码
$(document).ready(function() {
$('#order_list').DataTable( {
"processing": true,
"serverSide": true,
url: BASE_URL + 'order/prepareJson',
method: 'post',
data: { get_param: 'value' },
dataType: 'json'
//"ajax": " "
} );
$.ajax({
success: function (feedback) {
//console.log("feedback", feedback);
$("#order_list").append($(feedback));
}
});
});
答案 0 :(得分:0)
你需要print()
或echo
json,而不是return
。
$table_json = json_ecode($data);
echo $table_json;
答案 1 :(得分:0)
你不有一个有效的JSON响应。
将JSON复制并粘贴到此处:
您会发现您的问题是图片标记缺少正确的引号。甚至使Stack Overflow的代码高亮显示混乱。