Javascript 在每分钟的第20秒调用AJAX
我正在代码中进行AJAX调用。我想要的是在每分钟的第20秒进行AJAX调用。这就是我提出的AJAX请求Javascript 在每分钟的第20秒调用AJAX,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在代码中进行AJAX调用。我想要的是在每分钟的第20秒进行AJAX调用。这就是我提出的AJAX请求 setInterval(function(){ $.ajax({ url: url, headers: { 'x-cyclops-ajax': 'yes' }, method: 'POST', dataType: 'json', success: function(data) { v
setInterval(function(){
$.ajax({
url: url,
headers: { 'x-cyclops-ajax': 'yes' },
method: 'POST',
dataType: 'json',
success: function(data) {
var chart = $('#container').highcharts();
var keys = Object.keys(data["histData"]);
$( "#main-div" ).empty();
for( var i=0; i< keys.length; i++) {
chart.series[i].setData(data["histData"][keys[i]]["histFailure"], true);
$('#main-div').append( '<div class="homepage-availability-inner-div"><h1 class="homepage-availability-text"> ' + keys[i] + ': <span class="dashboard-success">' + data["availData"][keys[i]] + ' </span> </h1></div>');
}
chart.xAxis[0].setCategories(data["histKeys"]);
console.log("Data:" + JSON.stringify(data["availData"]));
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("Did not hit the AJAX call");
}
});
}, 5000);
setInterval(函数(){
$.ajax({
url:url,
标题:{'x-cyclops-ajax':'yes'},
方法:“POST”,
数据类型:“json”,
成功:功能(数据){
var chart=$(“#容器”).highcharts();
var keys=Object.keys(数据[“histData”]);
$(“#主分区”).empty();
对于(变量i=0;i
任何帮助都将不胜感激。如果您的意思是只在第20秒,如13:00:20,13:01:20,13:02:20 您必须执行以下操作:
//间隔可以根据使用情况设置得更低,以便更准确
//警告间隔设置过低可能会影响浏览器/客户端的性能,
//如果毫秒数不够,则多次执行ajax
设间隔=1000;
//该函数大约每秒调用一次,
//因此,大约每分钟执行60次,并且只执行一次ajax调用。
设定间隔(
函数(){
让我们现在=新日期();
//如果是当前分钟的第20秒,则应仅开火
if(now.getSeconds()==20){
//ajax调用
console.info(现在);
}
},间隔
);代码>如果您的意思是仅在第20秒,如13:00:20,13:01:20,13:02:20
您必须执行以下操作:
//间隔可以根据使用情况设置得更低,以便更准确
//警告间隔设置过低可能会影响浏览器/客户端的性能,
//如果毫秒数不够,则多次执行ajax
设间隔=1000;
//该函数大约每秒调用一次,
//因此,大约每分钟执行60次,并且只执行一次ajax调用。
设定间隔(
函数(){
让我们现在=新日期();
//如果是当前分钟的第20秒,则应仅开火
if(now.getSeconds()==20){
//ajax调用
console.info(现在);
}
},间隔
);代码>您可以使用setInterval方法进行连续循环,当当前秒数为20时,您可以进行ajax调用。请参阅代码片段:
setInterval(function() {
if(new Date().getSeconds() === 20) {
// Your ajax call
}
}, 1000);
可以使用setInterval方法进行连续循环,当当前秒数为20时,可以进行ajax调用。请参阅代码片段:
setInterval(function() {
if(new Date().getSeconds() === 20) {
// Your ajax call
}
}, 1000);
间隔到20000,并且认为在setinterval下生成$.ajax不是一个好主意,因为它是异步的。在setinterval
BTW中使用异步方法是完全有效的,这称为长轮询。但是请记住,答案可能不会按顺序返回。这里的问题到底是什么?这不管用吗?什么?间隔为20000,并且认为在setinterval下创建$.ajax不是一个好主意,因为它是异步的。在setinterval
BTW中使用异步方法是完全有效的,这称为长轮询。但是请记住,答案可能不会按顺序返回。这里的问题到底是什么?这不管用吗?什么?记住这不会在第20秒运行setInterval
不保证精确在时间段内运行。它会根据很多因素而变化,比如js线程的使用情况等。所以这会有所不同(很可能会有一点),但根据所需的准确性,我会降低间隔,或者尝试不同的方法。我暗示这是一个web应用程序,其中没有长时间运行的阻塞JS脚本,所以应该可以。但这取决于用途case@Liam所以我的用例是,我必须在第20秒每分钟刷新一次页面。但是如果一个请求发出,数据还没有返回,下一个请求发出了,时间是1000还是60000?间隔应该是1000。如果达到第20秒,您希望每秒钟检查一次:-DBear请记住,这不会在第20秒完全运行setInterval
不保证精确在时间段内运行。它会根据很多因素而变化,比如js线程的使用情况等。所以这会有所不同(很可能会有一点),但根据所需的准确性,我会降低间隔,或者尝试不同的方法。我暗示这是一个web应用程序,其中没有长时间运行的阻塞JS脚本,所以应该可以。但这取决于用途case@Liam所以我的用例是,我必须在第20秒每分钟刷新一次页面。但是如果一个请求发出,数据还没有返回,下一个请求发出了,时间是1000还是60000?间隔应该是1000。如果达到第20秒,您希望每秒钟检查一次:-D