繁体   English   中英

在rails 3.1中每10秒重新加载一个页面

[英]reloading a page after every 10 sec in rails 3.1

我有一个 rails 3.1rc4 应用程序,我想每 10 秒更新一次 index.html.erb 文件中的 div。 我不知道这是否可以通过 jquery 完成? 曾经有一种更新方法,但如果它仅用于原型,我不知道。 任何样品都会很棒

我假设您熟悉 javascript 和可能的 AJAX(如果您需要的话)。

这段 javascript 使用了原生的 setInterval function,每 10 秒调用一次 updateDiv function。

var timer = setInterval(updateDiv, 10000);

function updateDiv() {
  // do update
}

编辑:没有 jQuery 的完整示例;

<html>
  <head>
    <script type="text/javascript">         
      var index = 1;

      function updateDiv() {
        document.getElementById("updateMe").innerHTML = index++ + " " + new Date();
      }

      var timer = setInterval(updateDiv, 10000);
    </script>
  </head>
  <body>
    <div id="updateMe" />
  </body>
</html>

将您的问题分解为子任务,这是您必须处理的:

  1. 检索 (HTTP GET) html
  2. 使用检索到的 html 更新 div
  3. 每 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 代码:

<div id="divToChange"></div>

Javascript代码

  function update()
  { 
     $.get('/', function(data) 
     {
         $('#divToChange').html(data);
     });
  }
$(document).ready(function($){
  window.setInterval('update()', 10*1000);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM