Мне было интересно, может ли кто-нибудь помочь мне. У меня есть страница php, которая выделяет строки из базы данных. Я хочу называть его через jquery/ajax каждые 30 секунд. Но я также хочу, чтобы иметь возможность вызвать страницу в любое время, чтобы, если я добавлю запись через форму, как только форма отправляется, я хочу, чтобы страница через вызываемый в ajax обновляла результаты сразу. Может ли кто-нибудь указать мне в правильном направлении или предоставить базовый код, чтобы я мог понять это? Еще очень новичок в jquery/ajax.
JQuery/Ajax вызов с таймером
Ответ 1
Если вы хотите установить что-то на таймер, вы можете использовать методы JavaScript setTimeout
или setInterval
:
setTimeout ( expression, timeout );
setInterval ( expression, interval );
Где expression
- это функция, а timeout
и interval
- целые числа в миллисекундах. setTimeout
запускает таймер один раз и запускает expression
один раз, тогда как setInterval будет запускать expression
каждый раз, когда проходит interval
.
Итак, в вашем случае это будет работать примерно так:
setInterval(function() {
//call $.ajax here
}, 5000); //5 seconds
Что касается Ajax, см. jQuery ajax()
method. Если вы запустите интервал, нет ничего, что помешает вам вызвать тот же ajax()
из других мест вашего кода.