Jquery ajax发布了计时器事件?

时间:2013-05-24 09:08:32

标签: javascript jquery ajax timer

脚本

$(document).ready(function () {
    var meter_id = $("#MeterReadingTypes li a.link_active").attr("id");
    var range_id = $("#DateRangeTypes li a.link_active").attr("id");

    window.setInterval(PostMainChartValues(meter_id, range_id), 5000);
    ...
});

function PostMainChartValues(meter_id, range_type_id) {
    $.ajax({
        ...
    });
}

window.setInterval不是trigerred。如果我在setInterval中写一个警报就行了。这是什么原因?为什么功能不触发?我用chrome DevTools跟踪它,没有动作。

2 个答案:

答案 0 :(得分:3)

setInterval的第一个参数应该是功能(或eval能力字符串)。现在,您正在调用PostMainChartValues()并将其返回值传递给setInterval()

将其更改为:

window.setInterval(function() {
    PostMainChartValues(meter_id, range_id);
}, 5000);

答案 1 :(得分:0)

这不是ajax问题。您在错误模式下使用setInterval参数。

创建一个匿名的function,如下:

window.setInterval(function () { PostMainChartValues(meter_id, range_id); }, 5000);