ReferenceError:找不到变量错误

时间:2011-08-22 19:24:21

标签: javascript jquery

我有这段代码:

$(document).ready(function(){
    var callPage = function(){
        $.post('/pageToCall.php');
    };

    setInterval('callPage()', 60000);
});

它给了我错误ReferenceError: Can't find variable: callPage。为什么呢?

3 个答案:

答案 0 :(得分:9)

尝试setInterval(callPage, 60000);

如果将字符串传递给setInterval,则会在全局范围中评估此字符串。问题是callPage本地ready回调,它不是全局的。

几乎没有理由将字符串传递给setIntervalsetTimeout)。总是传递一个函数(以避免这种错误)。

答案 1 :(得分:1)

我怀疑是因为callPage是一个作用于你在document.ready事件中创建的匿名函数的变量。如果将callPage定义移到其外,是否有效?

答案 2 :(得分:1)

function callPage()
{
    $.post('/pageToCall.php');
};

$(document).ready(function()
{
    setInterval('callPage()', 60000);
});

这是因为callPage的范围是匿名函数