1

我每 2 秒设置一次超时以重新加载内容。当我加载页面时,它会在 2 秒后正常加载消息,但是它什么也不做,除非我刷新页面?

$(document).ready(function() {
    $("#login").submit(function(event) {
        event.preventDefault();
        $.post("ajax.php", { login : $("#guest").val() }, function(data) {
            location.reload();
        });
    });
});
setTimeout(function() {
    reload();
}, 2000);   


function reload() {
    $.post("ajax.php", { loadMessages : "1" }, function(data) {
        $("#loading").show();
        $("#box").html(data);
        $("#loading").hide();
    });
}

我做错了什么?我记得使用超时,它总是重复自己?

4

1 回答 1

3

setTimeout只运行一次,使用setInterval它每 2 秒不断调用一次:

setInterval(function() {
    reload();
}, 2000);
于 2013-06-18T13:19:14.230 回答