在尝试使用ajax源数据渲染数据表时,我得到了一个
400错误请求
作为ajax回应。
我从ajax调用获得的Json如下所示,Jsonlint
快乐地验证了{
"data": {
"title": "Seminar",
"pdate": "2016-02-05",
"duedate": "2016-03-04"
}
}
我正在使用datatables建议的以下javascript来呈现ajax源数据;
$('#table1').DataTable({
ajax: {
url: '?r=site/test',
type: 'POST',
dataSrc: 'data'
},
columns: [
{ data: 'title' },
{ data: 'pdate' },
{ data: 'duedate' }
]
});
这是fiddle。
$b = [
'title'=> "Seminar",
'pdate'=> "2016-02-05",
'duedate' => "2016-03-04"
];
$a['data'][] = $b;
echo json_encode($a);
怎么了?
答案 0 :(得分:1)
data
必须是"行"
用于DataTable 的主数据源必须始终为数组(它 在使用DOM源数据时自动创建)。每个项目 该数组将定义要显示的行,DataTables可以使用 三种基本的Javascript数据类型作为行的数据源
- 阵列 -
[]
- 对象 -
{}
- 实例 -
new MyClass()
因此,来自?r=site/test
的返回数据必须是
{
"data": [{
"title": "Seminar",
"pdate": "2016-02-05",
"duedate": "2016-03-04"
}]
}