Rails/JS-在不刷新页面的情况下获取变量

Rails/JS - get variable without page refresh

本文关键字:情况下 获取 变量 刷新 JS- Rails      更新时间:2023-09-26

在我的应用程序中,我有一个整数变量。该变量不断变化,我希望当用户在网站上时,它总是显示当前整数,而不必不断刷新页面。

我知道有几种方法可以做到这一点,但最简单、最不引人注目的方法是什么?

为了方便起见,让我们将其设为整数

@foo = Post.all

我会提供一些代码,但经过其他地方的研究,我仍然无法尝试解决这个问题。

谢谢。

据我所知,如果没有客户端的请求,服务器无法向客户端发送信息。因此,您可以为此设置常规的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}别忘了写正确的路线。