【问题标题】:YUI Datatable Not Taking JSONYUI 数据表不采用 JSON
【发布时间】:2011-01-06 18:45:15
【问题描述】:

我正在尝试使用 YUI 用 JSON 填充数据表,

我有这个 JSON:

[{"test":"value1",
"test2":"value2",
"test3":"value3",
"topic_id":"123139007E57",
"gmt_timestamp":1553994442,
"timestamp_diff":-1292784933382,
"status":"images\/statusUp.png",
"device_id":"568FDE9CC7275FA"}, ..

在大约 20 种不同的设备上继续这样,我用 ] 关闭它

我只想打印数据表中的选择键,所以我的列定义如下所示:

var myColumnDefs = [
    {key:"test", sortable:true, resizeable:true},
    {key:"test2", sortable:true, resizeable:true},
    {key:"topic_id", sortable:true, resizeable:true},
    {key:"status", sortable:true, resizeable:true},
    {key:"device_id", sortable:true, resizeable:true},
];

var myDataSource = new YAHOO.util.DataSource(bookorders);
        myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
        myDataSource.responseSchema = {
            fields: ["test","test2","topic_id","status","device_id"]
        };


    var myDataTable = new YAHOO.widget.DataTable("basic",
            myColumnDefs, myDataSource);

由于某种原因打印数据错误,我做错了什么?

谢谢!

我在 JSONLint 测试了 JSON 的有效性,它说它是有效的。

【问题讨论】:

  • 如果你使用 JSON,我认为你的数据源响应类型应该是那种类型:YAHOO.util.DataSource.TYPE_JSON 而不是 TYPE_JSARRAY。您是否看过以下示例:developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html
  • 感谢您的建议,我放弃了这个示例,使用您提供的示例,替换了查询、文件名、响应架构、列定义,仍然是数据错误。由于某种原因,我不确定我做错了什么,它似乎不喜欢我的 JSON
  • 你能用 Firebug 来看看到底是哪个错误吗?查看响应是否正常,返回哪个json。如果您认为这是 json 的问题,您可以使用 Jackson 之类的库在服务器中生成它(它会确保 json 正常)。
  • 事实证明我的 JSON 出于某种原因无法与 YUI Json 解释器一起使用,不过我已经完成了这项工作,Javi 如果你回复了答案,我会将其标记为正确,谢谢!

标签: json yui-datatable


【解决方案1】:

如果您使用的是 JSON,我认为您的数据源响应类型应该是那种类型:YAHOO.util.DataSource.TYPE_JSON 而不是 TYPE_JSARRAY。你看过这个例子吗:developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html

您可以使用 Firebug 来准确查看错误所在吗?查看响应是否正常,返回哪个json。如果您认为这是 json 的问题,您可以使用 Jackson 之类的库在服务器中生成它(它会确保返回的 json 正常)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多