jquery - 使用ajax json加载数据后Bootstrap数据表不起作用

标签 jquery html ajax jsp datatables

我正在将数据动态加载到 html 表中,如下所示 使用的技术栈是: Spring MVC Hibernate Ajax JQuery 但数据表功能没有响应

function getdata()
     {
            $.ajax({

            type: "GET",
             url: "/controllerURL.html", //controller URL
             contentType: "application/json; charset=utf-8",
             dataType: "json",    

             success: function (results) {
                console.log(results)
                 var success = results.success;
                if(success){
                var finaldata = "<tbody><thead><tr><th>ID</th><th>data1</th><th>data2</th><th>Update</th></tr></thead>"; //data
                var data = results.message;
                    data = jQuery.parseJSON(data);
                alert(data);
                    for(var i = 0; i < data.length; i++){
                        var value = data[i];                
                        finaldata = finaldata+  "<tr><th>"+value.ID+"</th><th>"+value.variable1+"</th><th>"+value.variable2+"</th></tr>";
                                                    }
                    finaldata = finaldata + "</tbody>";
                $("#tableID").html(finaldata);
                $("#tableID").DataTable();//re-intializing datatable
                 }            
             },
             error: function (data) {       
                alert("fail");
             console.log('ajax call error');    

             }
         });
     }

此后数据表功能不起作用

最佳答案

您需要具有适当的表结构 <thead></thead><tbody></tbody> 。还编号th元素应与 td 的数量匹配元素。

假设代码的其他部分工作正常,请改用下面的代码:

function getdata() {
    $.ajax({
        type: "GET",
        url: "/controllerURL.html", //controller URL
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function(results) {
            console.log(results)
            var success = results.success;
            if (success) {
                var finaldata = "<thead><tr><th>ID</th><th>data1</th><th>data2</th><th>Update</th></tr></thead><tbody>"; //data
                var data = results.message;
                data = jQuery.parseJSON(data);
                alert(data);
                for (var i = 0; i < data.length; i++) {
                    var value = data[i];
                    finaldata = finaldata + "<tr><td>" + value.ID + "</td><td>" + value.variable1 + "</td><td>" + value.variable2 + "</td><td></td></tr>";
                }
                finaldata = finaldata + "</tbody>";
                $("#tableID").html(finaldata);
                $("#tableID").DataTable();
            }
        },
        error: function(data) {
            alert("fail");
            console.log('ajax call error');

        }
    });
}

关于jquery - 使用ajax json加载数据后Bootstrap数据表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595717/

相关文章:

javascript - Fancybox,播放带有开始时间和自动播放的 YouTube 视频

javascript - 在搜索框中的关闭按钮上使用 jquery 事件

html - 对于基于 Web 的数据输入屏幕的 WYSIWYG 编辑器的建议?

Javascript/AJAX 引用错误 : x is not defined

javascript - 默认光标在 IE 和 Mozilla 中不起作用

javascript - 列表 <li> 元素即使在移动设备上调用 .hide() 后也不会隐藏

html - 子元素在 flex 容器中不可见

jquery - 如何在 JQuery 中打开具有相同类的单独工具提示

javascript - 如何在AJAX中形成授权CURL请求?

ajax - 通过 SSL 的 XMLHttpRequest 不返回任何数据