2

此代码使用参数加载 php 文件的内容:在线并命名并每 0.2 秒动态打印一次,整个代码有效,但它说“stats”未在 Internet Explorer 中定义,我不知道为什么。帮帮我,伙计们

function updateStats(stat)
{
    var stat = ["online","name"];


   var stats = "";


 if (stat==undefined)
{
document.write("is undefined");
}
    var url = "online.php";

    $.each(stat, function(i, key){
       $.post(url, {stats: key}, function(data) { 
          $("#" + key).html(data);       
       });
    });
} 

setInterval('updateStats("updateStats")', 200); //  200 milliseconds = 0.2 seconds

这是更新的代码,但仍然说未定义统计信息

function updateStats(stat)
{


var stat = ["online","money"];


if (typeof stat == "undefined")
{
document.write("stat is undefined");
}
    var url = "online.php";

    $.each(stat, function(i, key){
       $.post(url, {stats: key}, function(data) { // stats to stat
          $("#" + key).html(data);       
       });
    });
} 


setInterval(function(){
  updateStats("updateStats");
}, 1000);


if (typeof stats == "undefined")
{
document.write("stats is undefined");
}
4

1 回答 1

2

改变:

setInterval('updateStats("updateStats")', 200);

到:

setInterval(function(){
  updateStats("updateStats");
}, 200);

还要检查是否有东西undefined,而不是:

if (stat==undefined)

采用:

if (typeof stat == "undefined")

同样正如@Felix Kling 所指出的,您正在stat通过函数传递变量:

updateStats(stat)

并且稍后在该函数内部创建它:

var stat = ["online","name"];

这很奇怪,你应该修改你的代码来解决这个问题。

于 2012-05-26T10:46:26.637 回答