taTableExt.oApi.fnReloadAjax = function(oSettings,sNewSource,fnCallback,bStandingRedraw) { if (sNewSource !== undefined && sNewSource !== null) { oSettings.sAjaxSource = sNewSource; } // Server-side processing should just call fnDraw if (oSettings.oFeatures.bServerSide) { this.fnDraw(); return; } this.oApi._fnProcessingDisplay(oSettings,true); var that = this; var iStart = oSettings._iDisplayStart; var aData = []; this.oApi._fnServerParams(oSettings,aData); oSettings.fnServerData.call(oSettings.oInstance,oSettings.sAjaxSource,aData,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 < aData.length; i++) { that.oApi._fnAddData(oSettings,aData[i]); } oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); that.fnDraw(); if (bStandingRedraw === true) { oSettings._iDisplayStart = iStart; that.oApi._fnCalculateEnd(oSettings); that.fnDraw(false); } that.oApi._fnProcessingDisplay(oSettings,false); /* Callback user function - for event handlers etc */ if (typeof fnCallback == 'function' && fnCallback !== null) { fnCallback(oSettings); } },oSettings); };
$(document).ready(function() { $('#reloadDataBtn').click(function() { otable.fnReloadAjax('mySource2.PHP'); }); otable=$("#myTable").dataTable({ bSort: true,"bProcessing": true,"sAjaxSource": 'mySource1.PHP',bAutoWidth: true,"iDisplayLength": 5,"aLengthMenu": [5,10,25,50,100],"sPaginationType": "full_numbers","aoColumnDefs": [{ "bSortable": false,"aTargets": [-1,0]}] }); });原文链接:https://www.f2er.com/ajax/165410.html