当我从 ajax 发送数据时,如何在 jQuery 中使用 DataTables 对列进行排序?
Posted
技术标签:
【中文标题】当我从 ajax 发送数据时,如何在 jQuery 中使用 DataTables 对列进行排序?【英文标题】:How can i use DataTables in jQuery to order column when I'm sending data from ajax? 【发布时间】:2021-02-06 11:52:27 【问题描述】:<script>
var userdataTable = $('#user_data').DataTable(
"processing": true,
"serverSide": true,
"order":[],
"ajax":
url: "purchase_fetch.php",
type: "POST",
,
"pageLength": 10
);
</script>
数据在表中正确加载,但排序不正确。你能帮我么! 可能缺少什么?我是 jQuery 和 ajax 的新手。而且我还没有在 DataTables 上找到任何好的在线教程。
【问题讨论】:
【参考方案1】:-
在PHP中获取数据表的“order”参数(即有序列的索引和方向)
$orderArray = $_GET['order'];
-
在 PHP 中获取数据表“colums”参数
$columns = $_GET['columns'];
-
将订单索引与列名匹配
if (!empty($orderArray ))
$orderDir = $orderArray [0]['dir'];
$order = $orderArray [0]['column'];
if (array_key_exists($order , $columns ))
$orderBy = $columns [$order ]['data'];
-
更改数据库查询
$sql = "SELECT * FROM MyTable mt
ORDER BY $orderBy $orderDir ";
这只是一个示例,使用 PDO 参数保护 SQL。 如果数据表列名与数据库列名不同,可以使用数据表“数据”选项进行更改:
columns: [title: "My Datatable Column Name", data: 'my_database_column_name']
【讨论】:
谢谢你,我会试试你的建议。以上是关于当我从 ajax 发送数据时,如何在 jQuery 中使用 DataTables 对列进行排序?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript / jQuery 获取数据 ajax api 数组?
如何在 jQuery $.ajax() 发布请求中向 MVC 控制器方法发送模型
我想知道为啥当我发送一个数组以使用 jquery ajax (django,jquery) 查看时发生错误