我有一个绑定到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); //作为一个例子!
答案 0 :(得分:0)
我设法通过在前面的JSON输出前面添加ResultSet和Result来修复问题,然后修改响应模式resultList以从该路径读取。