基本 DataTable Ajax 配置不起作用
Posted
技术标签:
【中文标题】基本 DataTable Ajax 配置不起作用【英文标题】:Basic DataTable Ajax Configuration Not Working 【发布时间】:2016-04-22 22:45:10 【问题描述】:我正在尝试将 DataTables 与 php 和 mysql 一起使用。我有一个 ajax 调用正在提取数据:
[
"id": 3,
"ptid":"blah",
"last_name":"blah",
"first_name":"blah",
"priv_application":"E",
"priv_document":"E",
"priv_note":"E",
]
我正在使用以下配置 DataTables:
$('#listing').DataTable(
"paging": false,
"searching": false,
"select": true,
ajax:
url: ' url("administration/admindata") ',
dataSrc: ''
,
columns: [
title: "ID" ,
title: "PtID" ,
title: "Last Name" ,
title: "First Name" ,
title: "Application" ,
title: "Documents" ,
title: "Notes"
]
);
表格的html如下:
<table id="listing" class="display" ></table>
但是,即使此配置与此处给出的第一个示例完全相同,它也不想加载数据: https://datatables.net/manual/ajax
我收到以下错误: DataTables 警告:table id=listing - 为第 0 行第 0 列请求未知参数“0”。有关此错误的更多信息,请参阅http://datatables.net/tn/4
非常感谢任何帮助。
【问题讨论】:
你的id
前面有一个非标准ASCII引号,它也缺少冒号。
抱歉,这是用户在输入问题信息时出错。应该是:"id":"3",
【参考方案1】:
当使用对象数组作为数据源时,需要使用columns.data
选项为每一列指定数据源。
$('#listing').DataTable(
"paging": false,
"searching": false,
"select": true,
"ajax":
"url": ' url("administration/admindata") ',
"dataSrc": ''
,
columns: [
data: "id", title: "ID" ,
data: "ptid", title: "PtID" ,
data: "last_name", title: "Last Name" ,
data: "first_name", title: "First Name" ,
data: "priv_application", title: "Application" ,
data: "priv_adocument", title: "Documents" ,
data: "priv_note", title: "Notes"
]
);
【讨论】:
完美,就是这样,就是缺少数据源。谢谢!【参考方案2】:试试这样的。
ajax":
type': 'POST',
'url': "<?=action('TestController@postTestfunction')?>"
,
尝试使用没有刀片模板代码的 ajax 调用。 并确保您的路线是这样写的。
Route::controller('test', 'TestController');
还可以尝试将控制器功能名称“admindata”更改为“postAdmindata”
如果你在任何地方卡住了,请告诉我。
【讨论】:
以上是关于基本 DataTable Ajax 配置不起作用的主要内容,如果未能解决你的问题,请参考以下文章
通过 Ajax 更新 JSF 组件后,JavaScript/jQuery 事件侦听器不起作用