Основываясь на комментариях x0n, которые я считаю справедливым предположением, я предполагаю, что вы хотите автоматически обновлять <div>
контентом с сервера каждые X секунд. В вашем примере ваш второй аргумент функции setInterval
равен 1. Это действительно плохая идея, так как задержка в миллисекундах, поэтому вы будете запускать 1000 запросов в секунду (не то, что браузер позволит вам, но до сих пор).
Во всяком случае, если это то, что вы хотите, вам нужно сделать это:
var timer;
var seconds = 30; // how often should we refresh the DIV?
function startActivityRefresh() {
timer = setInterval(function() {
$('#recent_activity').load('recent_activity_ajax.php');
}, seconds*1000)
}
function cancelActivityRefresh() {
clearInterval(timer);
}
Ваш серверный скрипт (recent_activity_ajax.php
в этом примере) должен будет вернуть все, что вы хотите, чтобы <div>
был заполнен - только это, а не верхние и нижние колонтитулы или что-то еще. Если вы хотите, чтобы это началось при загрузке страницы, просто позвоните startActivityRefresh
:
$(function() {
startActivityRefresh();
});
Если это совсем не то, что вы имели в виду, обновляя <div>
, вам нужно будет уточнить. :)
EDIT
В ответ на ваш комментарий: вы не можете заставить Javascript «обновлять» содержимое динамического кода PHP. Это просто невозможно, так как браузер не может действительно выполнить язык на стороне сервера, такой как PHP. Вы должны снова вызвать сервер. Чтобы сделать это максимально чистым, вам, вероятно, следует переместить код, который заполняет содержимое #recent_activity
, в функцию, вызвать ее один раз при загрузке страницы и получить другой файл, который просто выводит этот код, чтобы иметь возможность его динамического обновления. Вы, вероятно, должны посмотреть здесь паттерны MVC, но я не уверен, что вы вполне готовы к этому ...