Ruby on rails Rails 3相当于定期调用远程
似乎Rails 3中不推荐使用Ruby on rails Rails 3相当于定期调用远程,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,似乎Rails 3中不推荐使用定期调用\u remote,您知道如何实现相同的功能吗?用于定期运行调用AJAX调用的函数。如果使用jQuery执行此操作,可能会出现以下情况: var pollBackend = function() { $.getJSON("/foo/bar/poll"); } setInterval(pollBackend, 5000); 这将尝试每5秒轮询一次给定的URL以获取JSON数据。如果您确实想使用它,则可以安装具有以下方法的旧插件: Rails现在喜欢U
定期调用\u remote
,您知道如何实现相同的功能吗?用于定期运行调用AJAX调用的函数。如果使用jQuery执行此操作,可能会出现以下情况:
var pollBackend = function() {
$.getJSON("/foo/bar/poll");
}
setInterval(pollBackend, 5000);
这将尝试每5秒轮询一次给定的URL以获取JSON数据。如果您确实想使用它,则可以安装具有以下方法的旧插件: Rails现在喜欢UJS 有关Rails 3中UJS的更多信息,请查看这些链接:
我写了一篇关于prototype和link to remote标签的短文:
希望这有帮助 我一直在寻找使用Rails 3的正确方法,但现在我相信在Rails 3中没有类似于定期调用远程的方法。 为了使用jQuery实现完全相同的功能,我使用了:
$(document).ready(
function(){
setInterval(function(){
$('#mydiv').load('/controller/action');
}, 3000);
});
这就是定期ajax调用所需的,用自己的RESTful路由替换一些路径:
<%= javascript_tag do -%>
$(document).ready(
function(){
setInterval(function(){
$.ajax({
url: "<%= some_path %>",
type: "GET",
dataType: "script"
});
}, 60000 );
});
<% end -%>
$(文件)。准备好了吗(
函数(){
setInterval(函数(){
$.ajax({
url:“”,
键入:“获取”,
数据类型:“脚本”
});
}, 60000 );
});
index.js.erb文件如下所示:
$('#mydiv').html("<%= escape_javascript( render( :partial => 'my_partial' ) ) %>");
$('mydiv').html('myu-partial'))%>;
如果您想继续使用prototype.js,那么可以执行以下操作:
<%= content_for :js do %>
new Ajax.PeriodicalUpdater("mydiv",
"/controller/action",
{ frequency: 5,
method: 'get' })
<% end %>
新的Ajax.PeriodicalUpdater(“mydiv”,
“/controller/action”,
{频率:5,
方法:'get'})
更多关于Ajax.PeriodicalUpdater的信息。这是我遇到的一个非常简单的解决方案
<head>
<script type="text/javascript">
setTimeout("location.reload();",20000);
</script>
</head>
setTimeout(“location.reload();”,20000);
试图实现这一点,但仍在挣扎。如果我在application.js中插入这段代码,在标题中包含javascript默认值,并且有一个id为='mydiv'的DOM元素,那么它应该自动绑定,对吗?此外,如何动态更新URL,例如,如果我有一个嵌套资源,因此需要加载“/controller/:id/action”,其中:id是动态设置的?为此,只需将数据项id添加到元素中,并使用jQuery的.data()加载它,您肯定可以对URL执行同样的操作。