jquery – 了解Datatables中的fnServerData

前端之家收集整理的这篇文章主要介绍了jquery – 了解Datatables中的fnServerData前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的项目中使用Datatables.我想了解“fnServerData”回调选项的使用.我已经阅读了doc 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)吗?

解决方法

fnServerData是dataTables中的一个内部函数,可以使用您自己的ajax处理程序进行编写.在这种情况下,使用舒适的jQuery函数 Read more here

参数在dataTables核心中定义,并且按此特定顺序是必需的.

sSource是数据源所在的URL.它设置为初始化为sAjaxSource中的值.在这种情况下xhr.PHP

aoData是将发送到数据源的参数数组.这默认包含paginationinfo,sortinginfo,filterinfo等(由核心自动设置),dataSource脚本应该对其做出反应. (例如:将SQL查询限制为pagesize等.)要向请求发送更多信息,可以将其他值推送到aoData.像这样:

"fnServerData": function ( sSource,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.然后你会在地址栏中看到传递的参数(请注意,这可能是一个非常长的字符串,可能会被切断).

fnCallback也是核心的内置函数,可以被覆盖,但在这种情况下不是.如果要在收到数据后在JS中进行一些后处理,则应提供自己的函数.

关于问题的第二部分:当然,您不需要使用PHP或JSP.任何可以动态提供JSON数据的服务器端语言都很好(Phyton,Node,你可以命名……)

猜你在找的jQuery相关文章