我需要使用Javascript每隔30分钟制作一次ajax请求。
对于当前登录的用户,我需要检索任何startdate等于当前时间的通知。当用户创建这些通知时,只允许保存30分钟的间隔。因此,在数据库中,您将看到StartDates,如12/22/2016 08:00:00,12 / 22/2016 08:30:00,2016年12月25日09:00:00,2016年12月28日09:30 :00等...
如果有帮助的话,我有片刻.js
答案 0 :(得分:1)
您可以使用setInterval和setTimeout的组合。如果用户刷新页面,它将重新计算到下一个半小时并从那里开始。您可以使用类似算法的日期对象getSeconds
和getMilliseconds
来获得更高的精度。
var minutes = new Date().getMinutes();
var numberOfMinutesTillNextHalfHour = (minutes <= 30)? 30 - minutes : 60 - minutes;
var minutesToSeconds = 60;
var secondsToMiliseconds = 1000;
setTimeout(function(){
/* this will execute on the next half hour */
setInterval(function(){
/* this will execute ever half hour after that */
}, 30 * minutesToSeconds * secondsToMiliseconds);
},numberOfMinutesTillNextHalfHour * minutesToSeconds * secondsToMiliseconds);
答案 1 :(得分:0)
你可以试试这个
var response = true;
function request(){
if(response == true){
response = false;
var req = $.ajax({
type:"post",
url:"URL_CALL",
data:{data:"Hello World"}
});
req.done(function(){
console.log("Success");
response = true;
});
}
setTimeout(request(),1000);
}
request();