Javascript 在colorbox内表单提交后重新加载dataTable

Javascript 在colorbox内表单提交后重新加载dataTable,javascript,jquery,ajax,datatables,colorbox,Javascript,Jquery,Ajax,Datatables,Colorbox,我有一个页面test.php,在那里我使用jquerydatatables获取数据。在同一页面中有一个“添加注释”按钮,可在colorbox中打开一个ajax表单。表单提交工作正常,但我希望在数据库中插入记录时刷新数据表 数据表: $(document).ready(function() { $('#example').DataTable(); }); Ajax表单:请注意,此表单加载到colorbox弹出窗口中 if (error == false) { $.post("sub

我有一个页面test.php,在那里我使用jquerydatatables获取数据。在同一页面中有一个“添加注释”按钮,可在colorbox中打开一个ajax表单。表单提交工作正常,但我希望在数据库中插入记录时刷新数据表

数据表:

$(document).ready(function() {
   $('#example').DataTable();
});
Ajax表单:请注意,此表单加载到colorbox弹出窗口中

if (error == false) {
    $.post("submit.php", $("#add_note").serialize(), function (result) {
        if (result == 'success') {
            $('#error_msg').remove();
            $('#success_msg').fadeIn(500);
            // want to reload DataTables here
        } else {
            $('#error_msg').fadeIn(500);
        }
    });
}
我的解决方案:我尝试了不同的方法,下面的方法刷新了页面内容,但只是第一次。如果我想第二次提交表单而不刷新页面,那么ajax表单就会停止工作

$(".content-wrapper").load('test.php');

如果您通过its加载数据表(我建议在这种特殊情况下使用),则可以使用

首先,将DataTables实例保留在全局变量中,然后使用该变量调用API:

var table;
$(document).ready(function() {
   table = $('#example').DataTable();
});

if (error == false) {
    $.post("submit.php", $("#add_note").serialize(), function (result) {
        if (result == 'success') {
            $('#error_msg').remove();
            $('#success_msg').fadeIn(500);
            table.ajax.reload();
        } else {
            $('#error_msg').fadeIn(500);
        }
    });
}

希望有帮助

嗯,我是基本的初始化,但也会检查ajax选项。有没有办法只重新加载
div
,我尝试了上面的方法,但没有效果。如果在datatables中使用ajax方法,就不需要重新加载div,datatables将自动处理数据重新加载(酷,哈?)