我希望能够使用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调用?
答案 0 :(得分:1)
好的,对于我的情况,我实际上不需要做任何事情。 'fnServerParams'已设置为从输入中获取自定义参数的值(即jQuery(“#clientID”)。val())。基本上,它从数据表init继承。
当调用oTable.fnReloadAjax()时,它仍然使用自定义'fnServerParams'。幸运的是,我不需要添加任何新参数,但如果你这样做,我认为你只需要在调用fnReloadAjax()之前更新数据表对象上的'fnServerParams'对象。