2012-02-07 2 views
1

YUI datatable не обновляется данными с сервера.YUI datatable не обновляется данными сервера

Я попробовал оба следующие опции:

ВАРИАНТ 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 = новый YAHOO.util.DataSource (RMAdata.details); Но когда одни и те же данные получены с сервера, он дает «Ошибка данных»: var myDataSource = new YAHOO.util.DataSource («http: // localhost: 8080/YUIDemo/getRMADetails»); // Или XHRDataSource –

+0

Что такое getRMADetails точно? где он определен? –

ответ

0

Вы не должны дать ему http://localhost:8080/YUIDemo/getRMADetails вместо дать ему просто относительный путь туда, где getRMADetails зависит и где ваш javascript fi ле.

также убедитесь, что данные, которые были возвращены из getRMADetails, имеют ключи, соответствующие полям в вашей системе ответа на данные.