Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fnRedraw&;fnReloadAjax不会刷新数据表_Javascript_Ajax_Datatables - Fatal编程技术网

Javascript fnRedraw&;fnReloadAjax不会刷新数据表

Javascript fnRedraw&;fnReloadAjax不会刷新数据表,javascript,ajax,datatables,Javascript,Ajax,Datatables,我一直在努力使表重新加载基于ajax url的新数据 我第一次正确加载了表,但无法刷新它 $(function() { var datepicker = $( "#date-picker" ); var table = $("#reports1").dataTable({ sPaginationType: "full_numbers", bJQueryUI: true, ajax: "http://" + window.locati

我一直在努力使表重新加载基于ajax url的新数据

我第一次正确加载了表,但无法刷新它

$(function() {
    var datepicker = $( "#date-picker" );
    var table = $("#reports1").dataTable({
        sPaginationType: "full_numbers",
        bJQueryUI: true,
        ajax: "http://" + window.location.host + "/admin/update_reports/" + datepicker.val(),
        bProcessing: true,
        columns: [
            {
                sTitle: "User",
                data: "user_email"
            },
             ...
            {
                sTitle: "Not Interested",
                data: "notinterested"
            }
        ]
    });
    datepicker.datepicker({
        dateFormat: "yy-mm-dd"
    }).attr('readonly','readonly').css("background","white").on('change', function(){
        alert("Date changed to " + datepicker.val());
        table.ajax.reload();
    });
});
我确实收到了警报,所以我知道它有那么远

我尝试了这个
警报('datasource:'+table.ajax.url())


并获取此错误
TypeError:table.ajax未定义

可能在第二次更改
datepicker.val()

和ajax:http://“+window.location.host+”/admin/update_reports/“+datepicker.val(),


不存在

以下是修复方法:

var source = "http://" + window.location.host + "/admin/update_reports/" + datepicker.val()
table.api().ajax.url(source).load();

它不应该每次调用时都提取新日期吗正确的方法很简单:
table.fnDraw()
fnDraw()不更新Ajax URL。它必须是table.api().fnDraw,除非我将dataTable更改为DataTableTrue,否则您必须使用
fnServerParams
来传递日期值。