jquery - 了解数据表中的 fnServerData

标签 jquery datatables

我正在尝试在我的项目中使用数据表。我想了解“fnServerData”回调选项的使用。我已经浏览了文档Here并看到以下示例代码 -

$(document).ready( function() {
  $('#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": fnCallback
      } );
    }
  } );
} );

这里的“sSource”、“aoData”参数是什么以及我们如何在其中提供值? 另外,我们是否可以提交一个动态获取 JSON 数据的表单,而不是将 JSP 或 PHP 作为源 (sAjaxSource)?

最佳答案

fnServerDatadataTables 中的一个内部函数,可以用您自己的 ajax 处理程序覆盖。在本例中,使用舒适的 jQuery 函数 Read more here .

参数在dataTables核心中定义,并且需要按以下特定顺序:

1 - sSource 是数据源所在的 URL。它在初始化时设置为 sAjaxSource 中的值。在本例中xhr.php

2 - aoData 是将发送到数据源的参数数组。默认情况下,它包含 paginationinfosortinginfofilterinfo 等(由核心自动设置),您的 dataSource 脚本应该使用react。 (例如:将 sql 查询限制为 pagesize 等)要向您的请求发送更多信息,您可以将其他值推送到 aoData。就像这样:

"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
               aoData.push( { "name": "Input1", "value": $("#data1").val() } );
               aoData.push( { "name": "Input2", "value": $("#data2").val() } );
  oSettings.jqXHR = $.ajax( {

(Will get the values of two input fields named data1 and data2 via jQuery from a form and include them in the POST as Input1 and Input2)

如果您想知道发送的内容,可以使用 Firebugs 控制台查看 POST 数据,也可以将类型更改为 GET。然后您将在地址栏中看到传递的参数(请注意,这可能是一个很长的字符串,可能会被截断)。

3 - fnCallback 也是一个可以被覆盖的核心内置函数,但在本例中不是。如果您想在收到数据后在 JS 中进行一些后处理,您应该提供自己的函数。

关于你的问题的第二部分:当然你不需要使用PHPJSP。任何可以动态提供 JSON 数据的服务器端语言都可以(Python、Node,凡是你能想到的......)

关于jquery - 了解数据表中的 fnServerData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21704398/

相关文章:

javascript - Jquery 自动完成库从 PHP 脚本返回没有属性的数组

javascript - 使用AJAX接收 "Uncaught SyntaxError: Unexpected token ("

javascript - 如何将 onClick 更改为 onHover 功能?

javascript - 单击时隐藏/显示子元素

javascript - tablesorter.js 多次文本提取

javascript - 选中复选框时增加 var

forms - 刷新 Ajax 成功的数据表

javascript - JQuery 数据表 JSON 响应错误 ColdFusion

javascript - 使用数据表 javascript 服务器端在 php 中发布数据

php - 如何使用 jQuery 数据表插件实现这种复杂的搜索?