在firefox里使用xmlhttp的问题,急。。大家帮帮忙。。。

astrum 2006-06-08 02:57:08
function CheckNewMsg()
{
document.getElementById("left").innerHTML="状态:正在调用函数……"
var url='http://127.0.0.1/test.asp';
var HttpRequest;
//if(typeof XMLHttpRuquest !='undefined')
if(window.XMLHttpRequest)
{
HttpRequest = new XMLHttpRequest();
}
else
{
HttpRequest = new ActiveXObject('Microsoft.XMLHTTP');

}
//onreadystatechange=changestatus();
HttpRequest.open('GET',url,true);
alert("xxx");
HttpRequest.send(null);

if(HttpRequest.status==200)
{
var backinfo=HttpRequest.responseText;
}
if(backinfo=='true')
{
document.getElementById("left").innerHTML="您有新的短消息!";
setTimeout("CheckNewMsg()",3000);
}
else
{
if(HttpRequest.status==200)
{
document.getElementById("left").innerHTML="没有新的短消息!";
}
setTimeout("CheckNewMsg()",3000);
}
}
--------------------------
代码在IE下正常,在firefox里用new声明完对象就不执行了,是不是对象声明的有问题啊??大家帮忙看下。。谢谢。。。
...全文
147 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
boylez 2006-06-12
  • 打赏
  • 举报
回复
mark
pli0825 2006-06-08
  • 打赏
  • 举报
回复
mark.学习
astrum 2006-06-08
  • 打赏
  • 举报
回复
谢谢,false那个明白了。。。
可是不用null还是不行。。。
xuzuning 2006-06-08
  • 打赏
  • 举报
回复
1、如果是 HttpRequest.open('GET',url,true);//异步
那么就必须指定 HttpRequest.onreadystatechange=changestatus();
否则就 HttpRequest.open('GET',url,false);//同步

2、在firefox里HttpRequest.send(null);参数不能缺省,而null应该算是缺省了
你可以
var post_data='';
HttpRequest.send(post_data);
astrum 2006-06-08
  • 打赏
  • 举报
回复
我用alert(typeof HttpRequest)调试他提示object
astrum 2006-06-08
  • 打赏
  • 举报
回复
郁闷。。还是不行。。。我用alert调试时,在open上面没问题,在open下面就不行了
meizz 2006-06-08
  • 打赏
  • 举报
回复
sorry! 上面的open第三个参数改成 false;

if(window.ActiveXObject && !window.XMLHttpRequest)
{
window.XMLHttpRequest = function()
{
var msxmls=['MSXML3','MSXML2','Microsoft'], ex;
for(var i=0;i<msxmls.length;i++)
try{return new ActiveXObject(msxmls[i]+'.XMLHTTP')} catch(ex){}
throw new Error("No XML component installed!");
}
}

function CheckNewMsg()
{
var e = document.getElementById("left");
e.innerHTML="状态:正在调用函数……"
var url='/test.asp'; //注意,这里不要跨域访问!
var HttpRequest=new XMLHttpRequest();
HttpRequest.open('GET', url, false);
HttpRequest.send(null);
if (HttpRequest.readyState==4)
{
if(HttpRequest.status==200)
{
var backinfo=HttpRequest.responseText;
}
}
alert(backinfo);
e.innerHTML=(backinfo=='true'?"您":"没")有新的短消息!";
setTimeout("CheckNewMsg()",3000);
}
meizz 2006-06-08
  • 打赏
  • 举报
回复
if(window.ActiveXObject && !window.XMLHttpRequest)
{
window.XMLHttpRequest = function()
{
var msxmls=['MSXML3','MSXML2','Microsoft'], ex;
for(var i=0;i<msxmls.length;i++)
try{return new ActiveXObject(msxmls[i]+'.XMLHTTP')} catch(ex){}
throw new Error("No XML component installed!");
}
}

function CheckNewMsg()
{
document.getElementById("left").innerHTML="状态:正在调用函数……"
var url='/test.asp';
var HttpRequest=new XMLHttpRequest();
HttpRequest.open('GET',url,true);
HttpRequest.send(null);
if (HttpRequest.readyState==4)
{
if(HttpRequest.status==200)
{
var backinfo=HttpRequest.responseText;
}
}
alert(backinfo);
document.getElementById("left").innerHTML=(backinfo=='true'?"您":"没")有新的短消息!";
setTimeout("CheckNewMsg()",3000);
}
astrum 2006-06-08
  • 打赏
  • 举报
回复
那个是是否异步的选项吗?false表示同步??
换完后还是不执行。。。
meizz 2006-06-08
  • 打赏
  • 举报
回复
HttpRequest.open('GET',url,true);
最后那个参数改成 false

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧