标题:麻烦了,使用js+asp的无刷新导致仪器短暂无反应
只看楼主
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
给onreadystatechange赋了程序了就不要在别的地方调用hsc了,因为那样responseText会出错。
2008-10-12 12:38
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
程序代码:
<script>
onload=function(){cxhr();setInterval("cxhr()",2000);}
function XMLHttps(){
var ret=null;
try {ret=new ActiveXObject("Msxml2.XMLHTTP")}
catch(e){try {ret=new ActiveXObject("Microsoft.XMLHTTP")}catch(ee){ret=null;}}
if(!ret&&typeof XMLHttpRequest !="undefined"){ret=new XMLHttpRequest();}
return ret;
}

function cxhr(){
    var xmlHttp=XMLHttps();
    xmlHttp.open("GET","onlineserver.asp",false);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlHttp.onreadystatechange=function(){
     if(xmlHttp.readyState==4 && xmlHttp.status==404){alert("读取页面失败");return false;}
     if(xmlHttp.readyState==4 && xmlHttp.status==500){alert("程序执行错误");return false;}
     if(xmlHttp.readyState==4 && xmlHttp.status==200){book.innerHTML=xmlHttp.responseText;}}
    xmlHttp.send(null);  
}
</script>

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-12 12:43
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
[bo][un]hmhz[/un] 在 2008-10-12 12:31 的发言:[/bo]

oXmlHttp.onreadystatechange=function(){
if(oXmlHttp.readyState==4 && oXmlHttp.status==404){alert("读取页面失败");return false;}
if(oXmlHttp.readyState==4 && oXmlHttp.status==500){alert("程序执行错误 ...

请问,如果我只是想在状态栏显示,服务器连接失败,请检查网络连线该”该怎么写?而且放在什么地方?谢谢了!
2008-10-12 12:50
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
谢谢大家的指点,非常感谢,我去调试一下,请问刚才提到浏览页刷无刷新更新数据后的浏览器活动停止,更新后恢复正常是什么原因?属性为false同步的时候的问题吗?
2008-10-12 12:54
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
if(xmlHttp.readyState==4 && xmlHttp.status==404){status="读取页面失败";return false;}
if(xmlHttp.readyState==4 && xmlHttp.status==500){status="程序执行错误";return false;}

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-12 12:55
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
[bo][un]boyfuture[/un] 在 2008-10-12 12:54 的发言:[/bo]

谢谢大家的指点,非常感谢,我去调试一下,请问刚才提到浏览页刷无刷新更新数据后的浏览器活动停止,更新后恢复正常是什么原因?属性为false同步的时候的问题吗?

那个假死是因为你用的是异步获取数据,就是说现在仅仅是获取数据,浏览器不响应外界操作——————————一直到获取到数据
不仅仅是网页上这么操作,就算是写程序弄别的,或者说你组织活动,原理也是一样的:你卡死在了一件事上,自然不会处理其他事务。
2008-10-12 13:12
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
“我看到代码是:oXMLHttp.open('GET',   xmlhttpurl,   false);  
   
  呵呵,false表明使用的是同步方式,而不是异步  
   
  True是异步方式”
我刚开始用的就是false同步,现在我想改为异步,说这样就不会卡,我也不知道怎么回事,但是改为ture就提示错误,就上来问问。看看大家怎么考虑这个问题的。你们说QQ是不是也是这个技术啊?为什么不会卡?但是我这个在网络上用起来特别明显,本地还不是太严重。。。就跟死机了似的,当时啥反应都没有

[[it] 本帖最后由 boyfuture 于 2008-10-12 13:59 编辑 [/it]]
2008-10-12 13:57
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
[bo][un]hmhz[/un] 在 2008-10-12 12:43 的发言:[/bo]
onload=function(){cxhr();setInterval("cxhr()",2000);}
function XMLHttps(){
var ret=null;
try {ret=new ActiveXObject("Msxml2.XMLHTTP")}
catch(e){try {ret=new ActiveXObject("Microsoft.XMLHTTP")} ...

老大,运行后提示错误啊。。。。
2008-10-12 14:41
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
把你 body 中的 onload 删了,因为我上面的js中已经使用了onload

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-12 14:49
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
把xmlHttp.open("GET","onlineserver.asp",false);中的 false 改成 true 就不卡了

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-12 14:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-237742-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.650305 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved