簡體   English   中英

使用'datatable'插件將JSON轉換為HTML表

[英]JSON to HTML table using 'datatable' plugin

我正在嘗試從SQL查詢執行的結果生成HTML數據表。 結果數據為JSON格式。 我正在使用插件“ Datatables”來實現這一目標。 我正在關注這個例子

我沒有收到錯誤,但數據表為空。 我顯然做錯了什么或缺少了什么。

這是代碼摘錄。 請給我一些正確方向的指導。

function jsDataPlot(chartProps) {
    // Get the array from the element:
    var graphPropsStore = chartProps;

    // Loop through the array with the jQuery each function:
    $.each(graphPropsStore, function (k, graphPropsStoreProperty) {

        // The makeCall function returns a ajaxObject so the object gets put in var promise
        var dbResAjx = getResultFromSql(k);

        // Now fill the success function in this ajaxObject (could also use .error() or .done() )
        dbResAjx.success(function (response) {
            console.log(response);
            // When success, call the function and use the values out of the array above
            $('#divId').DataTable(response);
        });

        dbResAjx.error(function (response) {
            console.log(response);
        });
    });
}


    function getResultFromSql(paramId) {
// bla bla code
        return $.ajax({
            url: 'runMySqlQuery.php',
            type: 'post',
            data: {// some POST params}
        });
    }

JSON結果

[{"DATE":"2015-12-15","TYPE":"AAA","NAME":"asdasd"},{"DATE":"2015-12-15","TYPE":"BBB","NAME":"dsfsdfsdfsdf"},{"DATE":"2015-12-15","TYPE":"AAA","NAME":"reterter"},{"DATE":"2015-12-15","TYPE":"CCC","NAME":"ertertertert"}]

OK,在您的JSON中,有這個。 日期-類型-名稱

 [
    {"DATE":"2015-12-15","TYPE":"AAA","NAME":"asdasd"},
    {"DATE":"2015-12-15","TYPE":"BBB","NAME":"dsfsdfsdfsdf"},
    {"DATE":"2015-12-15","TYPE":"AAA","NAME":"reterter"},
    {"DATE":"2015-12-15","TYPE":"CCC","NAME":"ertertertert"}
 ]

然后在您的JS中定義您的列....

$('#divId').DataTable({
  columns : [
      {data: "DATE"},
      {data: "TYPE"},
      {data: "NAME"}
  ],
    data: response
});

例如: https//jsfiddle.net/cmedina/7kfmyw6x/4/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM