我目前处于设计阶段,想知道如何每5秒更新一张表。
我的表将显示从模型返回的只读数据。
通常,我的视图只包含<table></table>
HTML,然后是一个foreach循环以写出数据。
但是,因为我想每5秒刷新一次整个表,所以我不确定如何实现它。
我知道这里有javascript setinterval函数,但是我也不确定当时该怎么做。会是这样吗?
例如/
function getdata()
{
$.getJSON("/mycontroller/mymethod"),
function(data) {
$.each(data, function(i, item) {
var row = { item.ID, item.Date,
item.Title
};
$(#table).tableInsertRows(row);
});
});
}
setInterval( "getdata", 5000 );
最佳答案
让您的mymethod
操作呈现视图而不是返回JSON可能是最简单的。然后,您可以将div的innerHTML
设置为ajax响应。
否则,您的方法将起作用,但是显然您必须首先删除现有的表行:
$('#table').tableRemoveRows({from:0, length:???});
编辑
重新阅读您的问题,听起来您在问有关
setInterval
的更多信息,而不是实际创建表。您需要继续重新注册回调,所以像这样:function getdata()
{
$.getJSON("/mycontroller/mymethod"), function(data) {
$.each(data, function(i, item) {
var row = { item.ID, item.Date,
item.Title
};
$(#table).tableInsertRows(row);
});
setInterval( getdata, 5000 );
});
}
setInterval( getdata, 5000 );