setInverval找不到功能?

How*_*Gee 0 javascript ajax jquery joomla mootools

我愚弄了这个脚本所以它不是那么笨重,但它的要点是我每秒都得到一个参考错误,我没有函数getList().我试图在它上面和下面移动setInverval(),但它几乎什么也没做.它告诉我一个匿名函数正在调用getList并且它没有被定义.

如果它有所作为我必须添加jquery冲突,以便它不会干扰mootools,我正在运行joomla 1.5

jQuery(document).ready(function($) {
function getList(){
i=0;
$.getJSON(
    "./test.php",
    function(data) 
    {   
        while(data.streams[i]){
            channel[i] = data.streams[i];
            stats[i] = data.status[i];
            title[i] = data.title[i];
            viewers[i] = data.viewers[i];
            i++;
        }
    }
  );
}
setInterval("getList()", 1000);
});
Run Code Online (Sandbox Code Playgroud)

我尝试通过控制台调试它,但我仍然是控制台调试的新手,所以它没有让我太过分.这个程序单独工作,没有joomla和jquery没有冲突的东西,在HTML文件上就好了所以我不确定什么可能是错的:/

Thi*_*ter 6

当使用eval样式的setInterval()(通过传递字符串)时,该函数必须是全局的.无论如何这是一件坏事,所以这样做:

setInterval(getList, 1000);
Run Code Online (Sandbox Code Playgroud)

所以你永远不会再传递一个字符串,以防你需要参数,这样做:

setInterval(function() {
    getList(whatever, ...);
    // you can have more code here and even access local variables
}, 1000);
Run Code Online (Sandbox Code Playgroud)