Как я могу вызвать запрос Ajax за определенный период времени? Должен ли я использовать Timer Plugin или у jQuery есть плагин для этого?
Вызов jQuery Ajax Request Каждый X минут
Ответ 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();
Ответ 3
У вас есть пара вариантов, вы можете setTimeout()
или setInterval()
. Вот отличная статья, в которой подробно описывается, как их использовать.
Магия в том, что они встроены в JavaScript, вы можете использовать их с любой библиотекой.
Ответ 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);
});//