这段代码用参数加载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");
}
答案 0 :(得分: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"];
这很奇怪,你应该修改你的代码来解释它。