javascript - jQuery DataTables Ajax GET json 格式化

标签 javascript jquery json ajax datatable

我正在使用 JQuery DataTables 来显示表格数据。

我使用以下代码来执行 GET ajax 请求:

$(document).ready(function() {
  var table = $('#data_table').DataTable( {
    ajax: {
        type: 'GET',
        url: url_path,
        data: {'data_id':data_id},
        success: function(data) {
            #here is where I am not sure how to populate the table with the data
            for (var i = 0; i < data.length; i++) {
                $.each(data[i], function(name, value) {
                    console.log(name + ": " + value);
                });
            }
        }
    }
} );

控制台输出示例:

>>obj1_property1: value1 #to go in table row 1 column 1
>>obj1_property2: value2 #to go in table row 1 column 2
>>obj2_property1: value1 #to go in table row 2 column 1
>>obj3_property2: value2 #to go in table row 2 column 2

从 ajax 请求中,我获得了一个对象数组,并且可以从 success 函数内的代码中获取它们的名称和值属性。但我不知道如何用这些数据填充数据表。

我在这里找到的例子:https://datatables.net/examples/ajax/objects.html显示使用:

"ajax": "data/objects.txt",
    "columns": [
        { "data": "name" },

但我无法弄清楚如何根据我提供的具体示例进行定制 - 在返回对象数组的示例中,我将在何处以及如何指定“列”?

最佳答案

您需要使用 data option 添加columns 选项给您数据表初始化选项。您还需要返回 JSON,它是单个对象,数据数组包含在“数据”字段中(见下文)。还要从 ajax 选项中删除 success 选项,因为这需要您显式调用来绘制表格。如果您需要从请求中发布流程数据,则可以使用它。这个 fiddle 应该有帮助 https://jsfiddle.net/backpackcoder/fv95dzxs/ 。因为我使用 post 进行 /echo/json 调用,所以我的 ajax 数据对象将返回的 JSON 放入 data 参数中,而不是您的 id。

您会希望返回的数据具有这种格式。

{
    "data": [{
      "col1": "data1",
      "col2": "data2",
      "col3": "data3",
    }, {
      "col1": "data4",
      "col2": "data5",
      "col3": "data6",
    }]
  }

关于javascript - jQuery DataTables Ajax GET json 格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41907817/

相关文章:

javascript - 一次显示一个弹出窗口

javascript - 静态 JSON 数组从 API 推送到结果

javascript - 为什么我要使用 RxJS interval() 或 timer() 轮询而不是 window.setInterval()?

javascript - 如果我有 XSS 保护解决方案,它会导致 chrome auditor 被禁用吗?

javascript - 如果使用 GET 方法,AJAX 请求无法将 DateTime 传递到服务器

Java android AsyncHttpClient 如何设置 header 'Accept' 'application/xml' 或 'application/json'

iphone - 当父键未知时在嵌套的 NSDictionary 中查找对象?

javascript - 如何获取两个点之间的字符串(最后一个点后跟图像扩展名)?

javascript - wordpress jquery 版本冲突

javascript - 来自服务器端的 JSON 字符串无法使用 ajax jquery 正确发送