Я пытаюсь обновить содержимое "mydiv" , не обновляя всю страницу индекса. @mydata предоставляется моим контроллером. Мне нужно пересчитать его каждые 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) %>')
Теперь мне нужно обновлять содержимое "mydiv" автоматически каждые n секунд (так что без клика по ссылке). Я пробовал решения:
но не повезло.
В моем приложении .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')