jquery - 在数据表中使用 fnReloadAjax

标签 jquery client datatables

我使用以下代码来触发服务器:

$.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback, bStandingRedraw )
        {
            if ( typeof sNewSource != 'undefined' && sNewSource != null )
            {
                oSettings.sAjaxSource = sNewSource;
            }
            this.oApi._fnProcessingDisplay( oSettings, true );
            var that = this;
            var iStart = oSettings._iDisplayStart;

            oSettings.fnServerData( oSettings.sAjaxSource, [], function(json) {
                /* Clear the old information from the table */
                that.oApi._fnClearTable( oSettings );

                /* Got the data - add it to the table */
                var aData =  (oSettings.sAjaxDataProp !== "") ?
                    that.oApi._fnGetObjectDataFn( oSettings.sAjaxDataProp )( json ) : json;

                for ( var i=0 ; i<json.aaData.length ; i++ )
                {
                    that.oApi._fnAddData( oSettings, json.aaData[i] );
                }

                oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
                that.fnDraw();

                if ( typeof bStandingRedraw != 'undefined' && bStandingRedraw === true )
                {
                    oSettings._iDisplayStart = iStart;
                    that.fnDraw( false );
                }

                that.oApi._fnProcessingDisplay( oSettings, false );

                /* Callback user function - for event handlers etc */
                if ( typeof fnCallback == 'function' && fnCallback != null )
                {
                    fnCallback( oSettings );
                }
            }, oSettings );
        }

但是,这不会传递 GET 参数。我希望这些也能通过。请指导我度过这个难关。在过去的几个小时里,我已经为此工作和冲浪。

提前致谢。

最佳答案

当我调用 fnReloadAjax 时,我将 GET 参数放在第一个函数参数中,如下所示:

//table declaration
var mainTable = $("#mainTable").dataTable({ 
    "sAjaxSource": "tableParams.php?"+getParams
    //other table parameters
})

//table reload
function reloadMainTable(){
    mainTable.fnReloadAjax("tableParams.php?"+getParams);
}

其中变量 getParams 类似于:

var getParams = "foo=bar&user=myself&date=20-04-2012";

这就是你想要的吗?

关于jquery - 在数据表中使用 fnReloadAjax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776909/

相关文章:

jquery - 清除sideDown jquery的队列

jquery - 页面上的两个轮播不起作用

android - 如何将随机客户端相互配对?

jquery - ColVis 选择出现在 Bootstrap Modal 后面

javascript - 使数据表中的列数可变

javascript - 在 WordPress 后端的 TinyMCE 模态窗口内调用 PHP 函数

asp.net - Jquery Ajax 调用 Web 服务失败

Node.JS:在通过 HTTPS 发送数据之前断言授权

java - 从 SSL 输入流读取 (Java)

jquery - ajax成功后,如何重新加载我的jquery数据表?