【问题标题】:Custom REST API Call with jQuery DataTables使用 jQuery DataTables 自定义 REST API 调用
【发布时间】:2014-03-11 17:30:52
【问题描述】:

我正在使用带有自定义 rest api 的 jquery 数据表,通过分页和排序从服务器获取记录。我对 json 的回应是

{
    "total": "0",
    "data": [data here]
}

我不想限制我的 API 向我发送计数作为“iTotalRecords”的响应,数据表插件需要它来显示分页。有什么方法可以在响应中或在填充表格之前对其进行自定义?

【问题讨论】:

  • 那么你到底想要什么?请进一步描述。 iTotalRecords 不会限制您的 api,它只是 dataTables 在 ajax 调用完成后需要显示一些信息的值。
  • 数据表需要来自 json 响应的 iTotalRecords,但我的其余 api 正在返回一个带有“total”的字段,那么如何更改它?

标签: jquery datatables jquery-datatables


【解决方案1】:

在 fnServerData 回调中更改接收到的数据:

  $('#example').dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "xhr.php",
    "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
      oSettings.jqXHR = $.ajax( {
        "dataType": 'json',
        "type": "POST",
        "url": sSource,
        "data": aoData,
        "success": function(aoData){
            aoData.iTotalRecords=aoData.total;
            fnCallback (aoData);
            }
      } );
    }
  });

不确定这是否适用于您的数据。由于我不在办公室,因此也无法验证。但这应该会给你一个关于如何进行的提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2018-08-29
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    相关资源
    最近更新 更多