繁体   English   中英

在jQuery的DataTables-Table插件中发布数据

[英]Publish data in DataTables-Table plug-in for jQuery

我用谷歌搜索了几个小时来找到解决我问题的方法,但是直到现在还没有运气...

我正在使用...更正...我想使用jQuery数据表插件( http://www.datatables.net/ )显示一些数据。

成功完成了以下步骤:

从* .asmx服务获取JSON数据。 我什至在http://jsonlint.com/上检查了它是否有效

{"d":{"key":1,"email":"test@test.ch","language":"de","locked":false}}

为了调试,我在代码中添加了alert()标记。

 function LoadTable(businessUnitId) {
        $.ajax({
            url: url + "/GetAccounts",
            data: '{businessUnitId:"' + businessUnitId + '"}',
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            cache: false,
            success: function(json) {
                for (var i in json.d) { // displays property name and its value --> works
                    alert(i + ": " + json.d[i]);
                }

                $('#tableAccounts').DataTable({
                    data: json.d, // tried json and json.d
                    columns: [
                        { title: "Test1", data: "key" },
                        { title: "Test2", data: "email" },
                        { title: "Test3", data: "locked" },
                        { title: "Test4", data: "language" }
                    ]
                });
            }
        });
    }

问题 :我无法在表中发布数据。 设置列标题,但不添加具有JSON对象值的行。 我认为问题可能出在columns属性的分配上。

任何帮助都非常感谢。

TIA,泽维尔

文档中data希望选项data是2d数组或对象数组。

但是,您正在传递data: json.d ,其中json.d是单个json对象。 当您要使用表时,这意味着您希望在某个时刻显示多个项目,因此您的服务应该返回json对象数组,如下所示:

{ "d" : [ {"key":1,"email":"test@test.ch","language":"de","locked":false} ] }

如果由于某种原因您只希望从服务中返回单个项目,则可以将其转换为单个对象的数组,并将data选项作为data: [json.d]传递给data: [json.d]

我创建了这个小提琴,因此您可以尝试一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM