在服务器端模式下使用 DataTables 1.10.15。我创建了一个 PHP 脚本来提供 JSON 响应,其中包括他们在文档中提到的参数:https://datatables.net/manual/server-side#Returned-data
我想将自己的参数添加到 JSON 响应中,例如
$response = [
'data' => [ ], // Required by DataTables
'form_errors' => [ ] // Not required by DataTables
];
echo json_encode($response);
我用于 ajax 调用的 js 如下所示:
var myTable = $('#myTable').DataTable( {
"serverSide": true,
"ajax": {
"url" : "/response.php",
"method" : "POST"
},
});
如何读取ajax响应?我在 API 中看到有一个 .on('xhr')
方法 ( https://datatables.net/reference/event/xhr ),该方法在 ajax 请求完成时触发,例如
var myTable = $('#myTable').DataTable( {
"serverSide": true,
"ajax": {
"url" : "/response.php",
"method" : "POST"
},
}).on( 'xhr.dt', function () {
// Read response here?
});
但我当时找不到读取 ajax 响应数据的方法。
有人知道这是否可行吗?
最佳答案
老问题,但我会尝试回答 future 可能需要的问题,因为我有完全相同的问题,在查找他们的文档后我发现 drawCallback
.
从您的代码中:
var myTable = $('#myTable').DataTable( {
"serverSide": true,
"ajax": {
"url" : "/response.php",
"method" : "POST"
},
"drawCallback": function (settings) {
// Here the response
var response = settings.json;
console.log(response);
},
});
关于jquery - DataTables 使用您自己的参数读取 ajax 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822223/