【发布时间】:2017-06-28 13:34:18
【问题描述】:
我正在使用 DataTables 1.10.15 并阅读了有关如何在 ajax 调用中指定 data 属性的信息,如下所示:
$(document).ready(function() {
var MyTable = $('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"url": "scripts/server_processing.php",
"data": function ( d ) {
d.myKey = "myValue";
// d.custom = $('#myInput').val();
// etc
}
}
} );
} );
然而,这个例子只有硬编码的值(或者像$('#myInput').val()这样的表单输入值)。
我有一个应用程序,我需要能够传入各种不同的数据对象,然后运行 ajax 调用。
我看不出这是怎么可能的,并查看了以下https://datatables.net/examples/server_side/custom_vars.html。
我想这样做的原因是因为我正在构建一个具有几种不同形式的应用程序。我需要选择哪个表单作为数据发送!当用户在特定表单中输入术语时,我想将 that 表单数据传递给我的 ajax 脚本,然后让 DataTables 重绘表格(我可以使用 .draw() 方法来完成):
MyTable.draw();
但是,我不明白如何动态指定 data: 中的内容。我可以在 ajax 调用中做这样的事情:
"ajax": {
"url" : "scripts/server_processing.php",
"data" : function ( d ) {
d.primarySearch = $('#form1').serialize(),
d.secondSearch = $('#form2').serialize(),
d.thirdSearch = $('#form3').serialize(),
}
}
但是,如果我正在搜索的数据位于 #form1 中,我只想传递该数据,而不是来自 #form2 和 #form3 的数据。但由于每次都不同,我需要能够说出将哪种形式传递给data: 对象。
【问题讨论】:
标签: jquery ajax datatables