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

时间:2018-08-31 12:06:16

标签: javascript jquery

我很亲密,我可以尝尝。我已经使用了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,并且没有控制台错误。所以我不知道如何诊断。

1 个答案:

答案 0 :(得分: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>