在我的应用程序中,我有一个变量,它是一个整数。变量不断变化,我希望它总是在用户在网站上时显示当前整数,而不必不断刷新页面。
我知道有几种方法可以做到这一点,但是最简单,最不引人注目的方法是什么?
为了方便起见,我们将其设为整数
@foo = Post.all
我会提供一些代码,但在其他地方研究后,我仍然无法尝试解决这个问题。
感谢。
答案 0 :(得分:3)
据我所知,如果没有客户请求,服务器无法向客户端发送信息。因此,您可以为此设置常规的AJAX请求。 首先,您应该在控制器中单独执行操作,在json中返回整数
def foo_update
@foo = some_new_value
render json: @foo
end
在.js文件中设置Interval和AJAX请求
var ajax_foo_update = function(){
$.get("/controller_name/foo_update",function(data){
$("#elem_to_place_foo").html(data.integer);
});
}
$(function(){
setInterval(ajax_foo_update, 10000);
});
此功能将每10秒更新一次foo。另外,你@foo应该看起来像{integer:5} 不要忘记写正确的路线。