2012-02-07 137 views
1

YUI數據表未通過服務器中的數據刷新。YUI數據表未通過服務器中的數據刷新

我都嘗試以下選項:

選項1:

myDataTable.getDataSource().liveData = 'http://localhost:8080/YUIDemo/getRMADetails'; 

myDataTable.getDataSource().sendRequest(null, { 
    success: function (oRequest, oResponse, oPayload) { YAHOO.log('got...'+oResponse.results.length); 
    myDataTable.onDataReturnInitializeTable;}, 
    failure: function(){ YAHOO.log("table refresh failed");}, 
    scope: myDataTable}, myDataTable); 

選項2:

var myDataSource = new YAHOO.util.XHRDataSource("http://localhost:8080/YUIDemo/getRMADetails"); 
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; 
myDataSource.responseSchema = { 
    fields : [ "rma", "rmaLineNumber", "status", "statusDesc", 
      "completeDate", "completeTime" ] 
}; 

myColumnDefs = [ {key : "rma", label: "RMA", sortable : true, resizeable : true}, 
    {key : "rmaLineNumber", label: "RMA Line Number", sortable : true, resizeable : true}, 
    {key : "status", label: "Status", sortable : true, resizeable : true}, 
    {key : "statusDesc", label: "Status Desc", sortable : true, resizeable : true}, 
    {key : "completeDate", label: "Complete Date", sortable : true, resizeable : true}, 
    {key : "completeTime", label: "Complete Time", sortable : true, resizeable : true} ]; 

myDataTable = new YAHOO.widget.DataTable("basic", myColumnDefs, myDataSource,{caption:"Results"}); 

myDataTable.getDataSource().sendRequest(null, 
    {success: function (oRequest,oResponse,oPayload){YAHOO.log('got...'+oResponse.results.length);myDataTable.onDataReturnInitializeTable;}, 
    failure: function(){YAHOO.log("table refresh failed");}, 
    scope: myDataTable},myDataTable); 
+0

如果我手動設置JSON數組,它會工作:var RMAData = {details:[]}; var myDataSource = new YAHOO.util.DataSource(RMAdata.details);但是當從服務器接收到相同的數據時,它會給出「數據錯誤」:var myDataSource = new YAHOO.util.DataSource(「http:// localhost:8080/YUIDemo/getRMADetails」); //或者XHRDataSource – 2012-02-07 19:03:24

+0

getRMADetails究竟是什麼?它在哪裏定義? – 2012-02-07 21:07:48

回答

0

你不應該給它http://localhost:8080/YUIDemo/getRMADetails,而不是給它只是getRMADetails所依賴的相對路徑,以及您的JavaScript fi的位置樂。

還確保您從getRMADetails返回的數據具有與您的數據源的responseSchema中的字段相匹配的鍵。