У меня есть таблица данных YUI, привязанная к источнику данных YUI, который необходимо автоматически обновить через пару секунд, а также вручную через кнопку. Хотя я могу читать данные через локальный источник данных (источник данных, объявленный на той же странице), я не могу читать их удаленно. Сетка остается «Загрузка данных ...», даже если запросы к целевой странице (yui_data.cfm) выполняются с заданным интервалом. Исходный код следующий:
Исходный код yui_data.cfm (для тестирования) следующий:
{ "records": [ {"id": 31, "name":"4fruit", "price":8323, "number":231} ] }
Исходный код страницы, запрашивающей данные:
myDataSource = new YAHOO.util.XHRDataSource("yui_data.cfm?");
myDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
myDataSource.responseSchema = {
resultsList: "records",
fields: [
{key:"id", parser:"number"},
{key:"name"},
{key:"price",parser:"number"},
{key:"number",parser:"number"}
]
};
myDataTable = new YAHOO.widget.DataTable("dynamicdata", myColumnDefs, myDataSource);
myCallBack = {
success: myDataTable.onDataReturnSetRows,
failure: function() {
},
scope: myDataTable,
argument: myDataTable.getState()
}
myDataSource.setInterval(5000, null, myCallBack);
Приведенный выше пример работает только когда строка
myDataSource = new YAHOO.util.XHRDataSource ("yui_data.cfm?");
изменено на:
myDataSource = new YAHOO.util.XHRDataSource (YAHOO.data.sample); // как пример!