jQuery DataTables fnReloadAjax - 如何在重新加载时传递新的POST参数?

时间:2014-02-13 20:48:34

标签: jquery ajax post jquery-datatables

我希望能够使用AJAX重新加载我的数据表,但需要能够传递POST参数。

以下是我如何初始化通过POST传递自定义属性的表(使用aoData ):

oTable = jQuery('#searchresults').dataTable({
  "bProcessing": true,
  "bServerSide": true,
  "sServerMethod": "POST",
"sAjaxSource": "ajax/index-ajax.cgi",  
"fnServerParams": function ( aoData ) {
    aoData.push( { "name": "clientID", "value":jQuery("#clientID").val() } );
    aoData.push( { "name": "username", "value":jQuery("#username").val() } );
    aoData.push( { "name": "company", "value":jQuery("#company").val() } );
    aoData.push( { "name": "email", "value":jQuery("#email").val() } );
    aoData.push( { "name": "region", "value":jQuery("#region").val() } );
    aoData.push( { "name": "role", "value":jQuery("#role").val() } );
    aoData.push( { "name": "hrTitle", "value":jQuery("#hrTitle").val() } );
    aoData.push( { "name": "searchType", "value":jQuery("#searchType").val() } );
}
});

以下是重新加载AJAX源的方法:

oTable.fnReloadAjax();

如何将新/更新的参数传递给fnReloadAjax调用?

1 个答案:

答案 0 :(得分:1)

好的,对于我的情况,我实际上不需要做任何事情。 'fnServerParams'已设置为从输入中获取自定义参数的值(即jQuery(“#clientID”)。val())。基本上,它从数据表init继承。

当调用oTable.fnReloadAjax()时,它仍然使用自定义'fnServerParams'。幸运的是,我不需要添加任何新参数,但如果你这样做,我认为你只需要在调用fnReloadAjax()之前更新数据表对象上的'fnServerParams'对象。