请教关于ieff问题

dandande 2009-12-31 03:10:26
下面这段代码ff好使,ie不好使,请问该怎么办?

function sendPHP(msg)
{
用2个xmlHttp分别向2个php文件发送并返回信息

setTimeout(function(){sendPHP(msg)},1000);
}

...全文
112 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dandande 2010-01-05
  • 打赏
  • 举报
回复
谢谢!
dandande 2010-01-01
  • 打赏
  • 举报
回复
谢谢sundotLei,按照你说的换了,可症状还是那样:
我在自己的机器上开了几个ff窗口和几个ie窗口,分别以不同的用户名登录,当其中一个用户发帖时,ff窗口的对话立刻自动更新了,可ie窗口的不变,必须刷新它才更新,给我的感觉是
setTimeout(function(){sendPHP(msg)},1000);那句话不起作用,
另外是不是我的思路有问题?我是自学,不知道别人的聊天室都是怎样做的,能介绍一下一般的思路吗?
sundotLei 2009-12-31
  • 打赏
  • 举报
回复
if (xmlHttp_1.readyState==4 || xmlHttp_1.readyState=="complete")
document.getElementById("show").innerHTML=xmlHttp_1.responseText;
}

换成

if (xmlHttp_1.readyState==4)
if(xmlHttp_1.status==200){
document.getElementById("show").innerHTML=xmlHttp_1.responseText;
}
}
dandande 2009-12-31
  • 打赏
  • 举报
回复
谢谢上面各位朋友,你们的办法我都试了,还是有问题,我做的是聊天室,代码如下,请帮我看看问题在哪?
6楼说的“(服务器返回200后)”,这句话怎么写?谢谢!

function sendPHP(msg){
url="1.php?name="+name+"&msg="+msg+"&sid="+Math.random(); //对话部分
xmlHttp_1.onreadystatechange=stateChanged_1;
xmlHttp_1.open("GET",url,true)
xmlHttp_1.send(null)
if(msg!="") {msg=""; editor.body.innerHTML=""; }

url="2.php?name="+name+"&sid="+Math.random(); //在线部分
xmlHttp_2.onreadystatechange=stateChanged_2;
xmlHttp_2.open("GET",url,true)
xmlHttp_2.send(null)

setTimeout(function(){sendPHP(msg)},1000);
}

function stateChanged_1(){
if (xmlHttp_1.readyState==4 || xmlHttp_1.readyState=="complete")
document.getElementById("show").innerHTML=xmlHttp_1.responseText;
}

function stateChanged_2(){
if (xmlHttp_2.readyState==4 || xmlHttp_2.readyState=="complete")
document.getElementById("person").innerHTML=xmlHttp_2.responseText;
}
sundotLei 2009-12-31
  • 打赏
  • 举报
回复
代码没问题,ie下完全可以这样setTimeout(function(){sendPHP(msg)},1000);

楼主还是检查下ajax请求部分的代码,或者请第一个请求完全结束后(服务器返回200后),在调用下一个.
真哥哥 2009-12-31
  • 打赏
  • 举报
回复
setTimeout(function(){sendPHP(msg)},1000);
把函数写外面吧!
千游 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 dandande 的回复:]
下面这段代码ff好使,ie不好使,请问该怎么办?
function sendPHP(msg)
{
  用2个xmlHttp分别向2个php文件发送并返回信息
  setTimeout(function(){sendPHP(msg)},1000);
}
[/Quote]
setTimeout(sendPHP(msg),1000);
function sendPHP(msg){
//...
}
xiaojing7 2009-12-31
  • 打赏
  • 举报
回复

function sendPHP(msg)
{
//用2个xmlHttp分别向2个php文件发送并返回信息
}


setInterval("sendPHP('msg')",1000);
happy664618843 2009-12-31
  • 打赏
  • 举报
回复
setTimeout("函数名",时间)
你先把函数封装好 直接调用
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2009-12-31 03:10
社区公告
暂无公告