Подтвердить что ты не робот

Вызов jQuery Ajax Request Каждый X минут

Как я могу вызвать запрос Ajax за определенный период времени? Должен ли я использовать Timer Plugin или у jQuery есть плагин для этого?

4b9b3361

Ответ 1

Вы можете использовать встроенный javascript setInterval.

var ajax_call = function() {
  //your jQuery ajax code
};

var interval = 1000 * 60 * X; // where X is your every X minutes

setInterval(ajax_call, interval);

или если вы более сложный тип...

setInterval(function() {
  //your jQuery ajax code
}, 1000 * 60 * X); // where X is your every X minutes

Ответ 2

Немного поздно, но я использовал метод jQuery ajax. Но я не хотел посылать запрос каждую секунду, если у меня нет ответа от последнего запроса, поэтому я сделал это.

function request(){
            if(response == true){
                // This makes it unable to send a new request 
                // unless you get response from last request
                response = false;
                var req = $.ajax({
                    type:"post",
                    url:"request-handler.php",
                    data:{data:"Hello World"}
                });

                req.done(function(){
                    console.log("Request successful!");

                    // This makes it able to send new request on the next interval
                    response = true;
                });
            }

            setTimeout(request(),1000);
        }

        request();

Ответ 4

Не требуется pugin. Вы можете использовать только jquery.

Если вы хотите установить что-то на таймер, вы можете использовать методы JavaScript setTimeout или setInterval:

setTimeout ( expression, timeout );
setInterval ( expression, interval )

;

Ответ 5

вы можете использовать setInterval() в javascript

<script>
//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall(){...}
</script>

Ответ 6

использовать jquery Каждый раз, когда плагин. Используя это, вы можете сделать ajax-вызов для периода времени "X"

$("#select").everyTime(1000,function(i) {
//ajax call
}

вы также можете использовать setInterval

Ответ 7

Я нашел очень хороший плагин jquery, который может облегчить вам жизнь в этом типе операции. Вы можете проверить https://github.com/ocombe/jQuery-keepAlive.

$.fn.keepAlive({url: 'your-route/filename', timer: 'time'},       function(response) {
        console.log(response);
      });//