我正在尝试更新“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')