2011-01-06 154 views
1

我試圖用YUI,以填補一個JSON一個DataTable,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的有效性,它說它是有效的。

+0

如果您使用JSON,我認爲您的數據源響應類型應該是這種類型:YAHOO.util.DataSource.TYPE_JSON而不是TYPE_JSARRAY。您是否看過以下示例:http://developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html – Javi 2011-01-06 19:01:37

回答

2

如果您使用的是JSON,我認爲您的數據源響應類型應該是這種類型:YAHOO.util.DataSource.TYPE_JSON而不是TYPE_JSARRAY。你有沒有看過這個例子:developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html

你可以使用Firebug查看到底是哪個錯誤?查看響應是否正確以及返回哪個json。如果你認爲它是json的問題,你可以使用像Jackson這樣的庫在服務器中生成它(它將確保返回的json是正常的)。