RefreshID = setinterval不起作用?

时间:2016-07-23 16:10:09

标签: javascript

我正在建立一个天气数据实时网站,使用捐赠给我的模板。它应该每隔5秒刷新元素数据或者我设置的任何内容,但在每个浏览器中我都必须刷新或强制刷新甚至删除所有历史记录,cookie等以获取最新数据。我真的不想刷新整个页面。

$(document).ready(function() {
     windspeed();
});

function windspeed() {
    $('#windspeed').load('windspeed.php');
}
var refreshId = setInterval(windspeed, 5000);

2 个答案:

答案 0 :(得分:1)

是的,它有效!非常感谢。你有两个错别字的风速'就像在'winspeed'中一样,考虑到你输入它有多快,这并不奇怪。谢谢,我将使用相同的气象站模板与其他人分享。你已经度过了我的一天,不,实际上你已经度过了整整一周。

万分感谢。

答案 1 :(得分:0)

问题:由于您正在使用setInterval,因此您在同一时间执行多个网址请求。请改用setTimeout,但仅限于网址请求完成时。

您已将.load方法替换为$.ajax,因为它有成功的回调:

var refreshId;

$(document).ready(function() {
    windspeed();
});

function windspeed() {
    $.ajax({
        cache: false,
        success: function(response) {
            $('#windspeed').html(response);
            setTimeout(windspeed, 5000);
        },
        type: 'GET',
        url: 'windspeed.php'
    });
}