jquery - DataTables 使用您自己的参数读取 ajax 响应

标签 jquery ajax datatables

在服务器端模式下使用 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/

相关文章:

javascript - 如何在点击时将功能设置为真/假?

jquery - 当表头单元格中出现 colspan 时,DataTables 抛出错误

jquery - 将hoverIntent 与iframe 一起使用,会弄乱边框和高度。悬停作品

javascript - 动画 Bootstrap 进度条

asp.net - 有没有办法动态更新 Web API CORS 中允许的来源列表

javascript - JQuery:解析 ajax 调用与嵌入的 str

javascript - 将变量传递到另一个页面并运行该变量

ruby-on-rails - 带有 WebPack 的 Bootstrap4 DataTables 没有集成在 Rails 6 中?

javascript - 分配唯一 ID Jgrid 行

javascript - AJAX 请求,3 个有效,第 4 个未到达 PHP