javascript setInterval json请求
下面是JavaScript代码,它应该每1分钟计数一次,但不知何故每20秒计数一次javascript setInterval json请求,javascript,jquery,ajax,json,setinterval,Javascript,Jquery,Ajax,Json,Setinterval,下面是JavaScript代码,它应该每1分钟计数一次,但不知何故每20秒计数一次 var tim = setInterval(doCount, 60000); var count = 0; var currency = "R$"; var stopit = 0; function doCount() { stopit++; if (stopit > 30) { $.ajax({ url: "URL", cache: false,
var tim = setInterval(doCount, 60000);
var count = 0;
var currency = "R$";
var stopit = 0;
function doCount() {
stopit++;
if (stopit > 30) {
$.ajax({
url: "URL",
cache: false,
dataType: "json",
success: function (json) {
$.get("URL");
},
error: function (e, xhr) {
}
});
return false;
}
count += 1.99;
$("#number").html(
currency + parseFloat(count).toFixed(2).replace(/\./g, ',')
);
$.post("URL"});
}
如果我能很好地理解你的问题,你只需将60000毫秒更改为20000毫秒。(20秒)
尝试将doCount封装在这样的函数中
var tim = setInterval(function() {
doCount();
}, 60000);
只是给你一个选择——看看
jquery
插件
特别是看一看,它已经计算了20秒,预计是60秒,也就是1分钟。尝试将代码粘贴到JSFIDLE中,似乎每分钟工作一次(您使用了哪个浏览器?您是否在另一个浏览器中对其进行了交叉测试?它确实按预期计入了我的开发框中,但在live server中却没有。您认为问题是服务器设置还是客户端?还检查了交叉测试?如果调用失败,我不知道服务器调用是否会影响
setInterval
方法的行为。您能检查ajax调用是否通过吗?同时尝试在doCount()方法的末尾添加return true
,可能会丢失。顺便说一句:检查浏览器缓存;)
var tim = setInterval(function() {
doCount();
}, 60000);