我的页面中有一个数据表,如下所示:
var dataSet = [
{ "id": 1, "name": "Bennett Weimann", "email": "[email protected]" },
{ "id": 2, "name": "Bennett Weimann", "email": "[email protected]" }
];
$(document).ready(function () {
$('#example').DataTable({
data: dataSet,
columns: [
{ data: 'id', title: 'Id' },
{ data: 'name', title: 'Name' },
{ data: 'email', title: 'Email' },
],
});
});
此外,我有一个按钮可以发出 AJAX post 请求,在答案中我得到一个 JSON
[{"id":1,"name":"Bennett Weimann","email":"[email protected]"},
{"id":2,"name":"Bennett Weimann","email":"[email protected]"}]
如果我尝试添加如下响应,则会收到错误
request.done(function (response, textStatus, jqXHR) {
table = $('#example').DataTable();
table.clear();
table.rows.add(response);
table.draw();
});
错误是
“DataTables 警告:表 id=example - 请求第 0 行第 0 列的未知参数“id”。有关此错误的更多信息,请参阅 http://datatables.net/tn/4”
但是,如果我手动复制并粘贴响应,则没有任何问题。
request.done(function (response, textStatus, jqXHR) {
table = $('#example').DataTable();
table.clear();
table.rows.add([
{"id":1,"name":"Bennett Weimann","email":"[email protected]"},
{"id":2,"name":"Bennett Weimann","email":"[email protected]"}
]);
table.draw();
});
有任何帮助了解可能导致此类错误的原因吗?
我一定很累了..睡一觉后我可以看到我传递的是一个对象而不是数组。 我使用 php 作为后端,如果我创建一个像这样的数组
$data = array([
"id" => 1,
"name" => "foo",
"email" => "bar"
]);
return $data;
并传递响应,它就像魅力一样
request.done(function(response, textStatus, jqXHR) {
table = $('#example').DataTable();
table.clear();
table.rows.add(response);
table.draw();
});