jquery - Json 响应未绑定(bind)到 jquery 数据表

标签 jquery json datatables

我想根据请求参数使用不同的数据集填充 jquery 数据表。我收到对象 json 响应,因为我无法将其绑定(bind)到数据表。它抛出错误为

DataTables 警告:表 id=calltable - 请求第 0 行第 0 列的未知参数“0”。有关此错误的详细信息,请参阅 http://datatables.net/tn/4

<script>
var table;
var all_data;
    jQuery(document).ready(function($) {
          table = $('#calltable').DataTable({
              "data":all_data,
              bSort: false,
                aoColumns: [ { sWidth: "10%" }, { sWidth: "10%" }, { sWidth: "10%", bSearchable: false, bSortable: false },{ sWidth: "10%" },{ sWidth: "10%" },{ sWidth: "10%" },{ sWidth: "10%" },{ sWidth: "10%" },{ sWidth: "10%" },{ sWidth: "10%" } ],
            "scrollY":        "200px",
            "scrollCollapse": true,
            "info":           true,
            "paging":         true

              });

 $("#search-form").submit(function(event) {      
            searchLOVViaAjax();
        });

function searchLOVViaAjax() {

    var search = {}
    search["lovId"] = "CURRENCY_QUERY_ID";

    $.ajax({
        type : "POST",
        contentType : "application/json",
        url : "${home}search/api/getLOVList",
        data : JSON.stringify(search),
        dataType : 'json',
        timeout : 100000,
        success : function(data) {
            console.log("SUCCESS: ", data);
            display(data);
        },
        error : function(e) {
            console.log("ERROR: ", e);
            display(e);
        },
        done : function(e) {
            console.log("DONE");
            enableSearchButton(true);
        }
    });

}
function display(data) {
        var json = "<h4>Ajax Response s</h4><pre>"
                + JSON.stringify(data, null, 4) + "</pre>";
        $('#feedback').html(json);
        all_data = data;
        table.clear().row.add(all_data).draw();

    }
</script>

我的 html 看起来像

<div id="LOVID">
    <table id="calltable" class="display" cellspacing="0" width="100%">
    </table>
    <div id="feedback"></div>
</div>

我的 Json 看起来像数据

{
"msg": "",
"code": "200",
"data": [
    {
        "id_Column": "001",
        "columnValue1": "US DOLLAR",
        "columnValue2": "US DOLLAR",
        "columnValue3": "2006-07-17 15:21:58.0",
        "columnValue4": "USD",
        "columnValue5": "US DOLLAR",
        "columnValue6": null,
        "columnValue7": null,
        "columnValue8": null,
        "columnValue9": null,
        "columnValue10": null
    },
    {
        "id_Column": "002",
        "columnValue1": null,
        "columnValue2": null,
        "columnValue3": "2006-07-17 15:24:34.0",
        "columnValue4": "INR",
        "columnValue5": "INDIAN RUPEE",
        "columnValue6": null,
        "columnValue7": null,
        "columnValue8": null,
        "columnValue9": null,
        "columnValue10": null
    },
    {
        "id_Column": "003",
        "columnValue1": null,
        "columnValue2": null,
        "columnValue3": "2006-07-17 15:36:38.0",
        "columnValue4": "JPY",
        "columnValue5": "JAPANESE YEN",
        "columnValue6": null,
        "columnValue7": null,
        "columnValue8": null,
        "columnValue9": null,
        "columnValue10": null
    }    
]

}

我不知道如何将这个 json 值推送到数据表,尝试了所有方法。

最佳答案

如果您想向 dataTables 提供 json 对象(无需服务器端处理),您可以这样做:

$('#yourTable').DataTable( {
    data: yourJsonObject,
    columns: [
        { data: "id_Column" },
        { data: "columnValue1" },
        { data: "columnValue2" },
        { data: "columnValue3" },
        { data: "columnValue4" },
        { data: "columnValue5" },
        { data: "columnValue6" },
        { data: "columnValue7" },
        { data: "columnValue8" },
        { data: "columnValue9" },
        { data: "columnValue10" },
    ]
} );

在您的情况下,“yourJsonObject”应该是 json 对象内的“data”数组。看看这个Nested Object example还有这个javascript sorced example

关于jquery - Json 响应未绑定(bind)到 jquery 数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852021/

相关文章:

javascript - 省略数据表中的列的通用解决方案

java - 如何反序列化 JSON HashMap<String, Object>?

php - JSON编码PHP AJAX jQuery响应错误

java - 在 Android 上执行 AsyncTask/发布 JSON

javascript - 服务器端 Yajra 数据表列 :[] manipulation

javascript - 如何访问浏览器中的自动完成组合框

jquery - 使用 JQuery 计算嵌套元素的数量

javascript - jQuery CSS 方法重写 :hover properties

jquery - 发送一个简单的 GET 请求

javascript - 具有可编辑功能的 jQuery 数据表不适用于服务器端处理