无法让函数工作者工作 - 停止javascript运行

问题描述 投票:0回答:1

我很亲密,我可以品尝它。我有我的javascript工作,但试图把它放在一个函数工作者,以便它每5秒调用一次。当我试图实现它时,它停止工作。我没有控制台错误,文字仍然说“正在加载......”

<div id="number" style="font-size: 30px; font-weight: 600;">Loading...</div>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
(function worker() {
        var data;
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'report.php',
            data: data,
            success: function (data) {
            $('#number').html(data.report.data[0].breakdown[0].counts)
            },
            complete: function() {
                setTimeout(worker, 5000);
    }
        });
    });
</script>

显然它是有效的JavaScript,没有控制台错误。所以我不知道如何诊断它。

javascript jquery
1个回答
3
投票

你已经将worker函数包装在expression中,但是,你从未调用它。你需要执行它。

(function worker() {
        var data;
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'report.php',
            data: data,
            success: function (data) {
            $('#number').html(data.report.data[0].breakdown[0].counts)
            },
            complete: function() {
                setTimeout(worker, 5000);
    }
        });
    })(); // <!--- execute your function
<div id="number" style="font-size: 30px; font-weight: 600;">Loading...</div>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.