【问题标题】:Data not getting populated in JQuery Datatable数据未填充到 JQuery 数据表中
【发布时间】:2016-03-27 09:18:34
【问题描述】:

我正在进行 Ajax 调用,返回值存储在“数据”变量中。现在,我想使用这个“数据”(以 JSON 对象的形式)来绑定表“templateRegArea”。

$.ajax({
    url: "Ajax_UserPermissionProfile.aspx/GetTemplatePropertyList",
    method: 'post',
    type: "POST",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{ 'iAcctId': '" + $('#hidIAcctId').val() + "', 'iTemplateID': '" + templateID + "'}",

    success: function(response) {
        var data = eval((response.d != undefined) ? response.d : response);
        alert(data);
        $('#templateRegArea').DataTable({
            ajax: data,
            columns: [{
                data: data.ID
            }, {
                data: data.Name
            }, {
                data: null,
                className: "center",
                defaultContent: '<a href="" class="editor_edit">Edit</a> / <a href="" class="editor_remove">Delete</a>'
            }]
        });
    },
    error: function(error) {}
}

我收到以下错误。

【问题讨论】:

  • 您收到“无效的 JSON 响应”。这些“数据”的价值是什么?
  • data.ID 和 data.Name 包含一些值
  • 复制数据并粘贴到这里@Roneetshaw

标签: javascript jquery ajax datatable


【解决方案1】:

有时 datatable 期望所有列都映射到以 JSON 格式发送的数据。

【讨论】:

    【解决方案2】:

    我假设这些“ID”和“Name”值是您希望作为行放在表中的值。 “columns” DataTable 属性期望获取列的名称,而不是其值。来自文档example

    $('#example').DataTable({
        "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "age" },
            { "data": "start_date" },
            { "data": "salary" }
        ]
    });
    

    您应该使用"data": "ID""data: Name" 创建列,然后将这些值添加为行。

    【讨论】:

    猜你喜欢
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多