Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery重复发出ajax请求?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery重复发出ajax请求?

Javascript 如何使用jquery重复发出ajax请求?,javascript,jquery,Javascript,Jquery,我有一个在加载页面时运行的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.ph

我有一个在加载页面时运行的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秒运行一次这段代码?

使用带有setTimeout的无限循环。把它放进去

虽然我不推荐这样做来达到你想要达到的目的。我想你需要的是某种投票;如果同时有大量用户,这可能会杀死你的服务器;因为每个访问者将每10秒发送一个http请求

function timedCount()
{
console.log('Hello');
setTimeout("timedCount()",10000);
}

timedCount();

将其包装到函数中,并使用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();
}
@耶戈尔

使用名称包装上述函数。然后使用setTimeoutfunction{//在此处调用函数},10000-
我建议你不要这样做。做一些选择

是否有办法使其动画化,以便在旧数据淡出时淡入淡出?