我有以下ajax请求在页面加载时运行
var city_id = $(".feed-selected-city").attr('id');
$("#cityfeed").html("<div class='feed-loading'>The feed is loading ...</div>");
var ajaxOpts = {
type: "get",
url: "ajax_getcityfeed.php",
dataType: 'json',
data: "&city=" + city_id,
success: function(data) {
$('#cityfeed').html(data.data);
}
};
$.ajax(ajaxOpts);
如何在每10秒后运行这段代码?
答案 0 :(得分:0)
使用setTimeout
的无限循环。把它放在里面。
虽然我不建议这样做来实现你正在尝试的东西。我认为你需要的是某种民意调查;如果同时存在大量用户,这可能会导致服务器中断;因为每个访问者将每10秒发送一次http请求。
function timedCount()
{
console.log('Hello');
setTimeout("timedCount()",10000);
}
timedCount();
答案 1 :(得分:0)
将其包装在一个函数中,并使用setTimeout连续调用该函数。
function tick() {
var city_id = $(".feed-selected-city").attr('id');
$("#cityfeed").html("<div class='feed-loading'>The feed is loading ...</div>");
var ajaxOpts = {
type: "get",
url: "ajax_getcityfeed.php",
dataType: 'json',
data: "&city=" + city_id,
success: function(data) {
$('#cityfeed').html(data.data);
}
};
$.ajax(ajaxOpts);
setTimeout('tick()',10000);
}
$(document).ready(function() {
tick();
}
答案 2 :(得分:0)
@Yegor
使用名称包裹上述功能。然后使用setTimeout(function(){//在这里调用函数},10000); -
我建议你不要做这种实现。做一些替代方案。