gpt4 book ai didi

ruby-on-rails - 自动刷新
无需重新加载整个页面

转载 作者:行者123 更新时间:2023-12-03 00:52:21 25 4
gpt4 key购买 nike

我正在尝试更新“mydiv”的内容而不刷新整个索引页。@mydata 由 mycontroller 给出。我需要每n秒重新计算一次并将其传递给“mydiv”

使用“link_to”就可以了!

index.html.erb

<%=
link_to('refresh', '/mycontroller/index', :remote => true)
%>

<div id="mydiv">
<%=
@mydata
%>
</div>

index.js.erb

$('#mydiv').html('<%= escape_javascript(@mydata) %>')

现在我需要每n秒自动刷新“mydiv”的内容(因此无需单击链接)。我尝试过以下解决方案:

但运气不好。

在我的application.js中我写了这个:

function executeQuery() {
$.ajax({
//url: '/index',
success: function(data) {
$('#mydiv').html(data)
}
});
setTimeout(executeQuery, 500);
}

$(document).ready(function() {
setTimeout(executeQuery, 500);
});
<小时/>

对于遇到我同样问题的人,我通过替换解决了它

$('#mydiv').html(data)

$('#mydiv').load('/mycontroller/index #mydiv')

最佳答案

使用setInterval()而不是使用setTimeout()

引用: https://www.w3schools.com/jsref/met_win_setinterval.asp

function executeQuery() {
$.ajax({
type: 'GET',
url: 'example.com/url/', // Provide your response URL here.
success: function(data) {
$('#mydiv').html(data);
}
});
}

setInterval(executeQuery(), (n * 1000)); // Replace 'n' with how many seconds you want.

此代码将在每“n”秒间隔运行 executeQuery() 方法。这样就完成了您的要求。

关于ruby-on-rails - 自动刷新 <div> 无需重新加载整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com