Javascript 如何将动态表转换为jquery数据表?

Javascript 如何将动态表转换为jquery数据表?,javascript,jquery,json,ajax,datatable,Javascript,Jquery,Json,Ajax,Datatable,我正在从动态创建一个HTML表。然后我想把这个表转换成一个datatable。但当我尝试这样做时,我不断得到一个错误,即: 未捕获类型错误:无法读取未定义的属性“mData” 我的jquery是: $(document).ready(function() { $('#action-button').click(function() { $.ajax({ url: 'https://api.myjson.com/bin

我正在从动态创建一个HTML表。然后我想把这个表转换成一个datatable。但当我尝试这样做时,我不断得到一个错误,即:
未捕获类型错误:无法读取未定义的属性“mData”

我的jquery是:

$(document).ready(function() {
    $('#action-button').click(function() {
                $.ajax({
                    url: 'https://api.myjson.com/bins/1oaye',
                    data: {
                        format: 'json'
                    },
                    error: function() {
                        $('#info').html('<p>An error has occurred</p>');
                    },
                    dataType: 'json',
                    success: function(data) {
                        // EXTRACT VALUE FOR HTML HEADER. 
                        var col = [];
                        for (var i = 0; i < data.length; i++) {
                            for (var key in data[i]) {
                                if (col.indexOf(key) === -1) {
                                    col.push(key);
                                }
                            }
                        }

                        // CREATE DYNAMIC TABLE.
                        var table = document.createElement("table");


                        // CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.

                        var tr = table.insertRow(-1);                   // TABLE ROW.

                        for (var i = 0; i < col.length; i++) {
                            var th = document.createElement("th");      // TABLE HEADER.
                            th.innerHTML = col[i];
                            tr.appendChild(th);
                        }

                        // ADD JSON DATA TO THE TABLE AS ROWS.
                        for (var i = 0; i < data.length; i++) {

                            tr = table.insertRow(-1);

                            for (var j = 0; j < col.length; j++) {
                                var tabCell = tr.insertCell(-1);
                                tabCell.innerHTML = data[i][col[j]];
                            }
                        }

                        // FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
                        var divContainer = document.getElementById("showData");
                        divContainer.innerHTML = "";
                        divContainer.appendChild(table);

                        // convert it to a data table
                        table.setAttribute("id", "example");
                        $('#example').DataTable();

                    },
                    type: 'GET'
                });
            });
        });
$(文档).ready(函数(){
$(“#操作按钮”)。单击(函数(){
$.ajax({
网址:'https://api.myjson.com/bins/1oaye',
数据:{
格式:“json”
},
错误:函数(){
$('#info').html('发生错误

'); }, 数据类型:“json”, 成功:功能(数据){ //提取HTML头的值。 var col=[]; 对于(变量i=0;i
如何从json创建动态表或将其转换为数据表


快速查看一下数据表代码,可能的原因是您没有将
放在
部分。目前它们位于

这是最新的提琴。。。

我想这可能就是问题所在。你知道我如何把这个文件包装成一个?var header=table.createTHead();var row=表头.插入行(0);谢谢K Scandrett,离我们更近了一步。它删除了错误,但数据表功能仍然不起作用。如果你查看表格下方,它会显示
表格中没有可用的数据
,如果你尝试搜索或排序,它似乎不起作用。这是因为小提琴现在把所有东西都放在下面了。。。。对不起,让我看看能不能修好。