2015-05-22 2 views
0

Как я могу активировать вызов Jquery ajax через каждые 24 часа?вызов тригера ajax через каждые 24 часа в jquery

setInterval(function() { 
    $.post('get_sales.php', function(data) { 
     $('#updates_contents').html(data); 
    }); 
}, 5000); 
+4

Неужели кто-нибудь действительно откроет окно браузера в течение 24 часов? Если вы хотите запустить что-то каждые 24 часа, возможно, лучший способ зависит от того, чего вы пытаетесь достичь. – gabe3886

+0

Да, окно браузера будет открываться каждый день все время. –

+0

Вы слышали о cronjobs ?? – Saty

ответ

2

Если вы хотите придерживаться JQuery и PHP, вы можете сделать следующее:

//var intervalTime = 24 * 60 * 60 * 1000; //refresh every 1 day 
var intervalTime = 1 * 60 * 60 * 1000; //refresh every 1 hour 
//the format is HOUR * MINUTE * SECONDS * MILI-SECOND. 

function refresher() { 
    $.post('get_sales.php', function(data) { 
     $('#updates_contents').html(data); 
    }); 
} 
var timerID; 
function start() { 
    //you might want to refresh the content when the widget first loads then uncomment the following line 
    //refresher(); 
    //and then set interval to refresh it later on 
    timerID = setInterval("refresher", intervalTime); 
} 

//if something went wrong, user can click on refresh button which can call this function 
function refreshBtnClick() { 
     clearTimeout(timerID); 
     start(); 
} 
start(); 

Не забудьте добавить кнопку, чтобы вручную обновить содержимое предположим, в случае, автоматизация не удалось. Время обновления 1 часа даст вам лучшие результаты. Помните комментарий А. Вольфа о утечке памяти.

+0

thnx hardik .. Я использую ваш код выше. но он сразу же отправляет ajax при загрузке окна ... Я использую внутри этого блока. $ (document) .ready (function() { // ваш код }); –

+0

Я хочу вызвать эту функцию через 1 час ... как я могу это сделать? –

+0

отредактировал ответ, теперь он не будет называть ajax при загрузке. Было бы хорошо, если вы прочтете комментарии и попытаетесь понять код, а не просто скопировать его. – happyhardik

0

Если вы работаете на Android TV приложения, вы можете просто хотите посмотреть на:

https://developer.android.com/reference/android/app/job/JobScheduler.html

Настройка таймера JS в браузере и продолжать работать приложение 24/7 ждет тайм-аут не является практическим.
Вместо этого вы можете найти работу, например, создание класса планировщика, который обновляет содержимое каждые 24 часа и сохраняет его локально, что ваш браузер просто обновляет содержимое из локального db или файла.

+0

nops bro .. я делаю веб-приложение в php. –

+1

Я читаю в ваших комментариях «но мое веб-приложение будет работать в e android tv browser .. », ваш бэкэнд может быть в php, но если ваш интерфейс находится в Android-телефоне, вы можете использовать дополнительный уровень сервиса для обновления содержимого. – happyhardik

+0

но я не работал в android ... я разработчик php. –

Смежные вопросы