【发布时间】: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