在rails 3.1中每10秒重新加载一页
我有一个rails 3.1rc4应用程序,我想在每10秒后更新我的index.html.erb文件中的div。 如果可以通过jquery完成,我不会这样做吗? 有一个更新方法,但我不,如果它只是原型。 任何样本都会很棒
将您的问题分解为子任务,这是您必须处理的问题:
- 检索(HTTP GET)html
- 使用检索到的html更新div
- 每10秒重复步骤1和2
对于1,请查看jquery的.get
Description: Load data from the server using a HTTP GET request.
2,查看jquery的.html
Get the HTML contents ... or set the HTML contents of every matched element.
对于3,请查看setInterval
Summary Calls a function or executes a code snippet repeatedly, with a fixed time delay between each call to that function. Returns an intervalID.
最终解决方案
HTML代码:
Javascript代码
function update() { $.get('/', function(data) { $('#divToChange').html(data); }); } $(document).ready(function($){ window.setInterval('update()', 10*1000); });
我假设你熟悉javascript和AJAX(如果你需要的话)。
这段javascript使用本机setInterval函数,该函数每10秒调用一次updateDiv函数。
var timer = setInterval(updateDiv, 10000); function updateDiv() { // do update }
编辑:没有jQuery的完整示例;