CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [转贴] 新手请教一个关于xmlHttp.status的问题
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  楼主
发表于 2008-3-18 12:40  资料  个人空间  短消息  加为好友 
开发者在线

新手请教一个关于xmlHttp.status的问题

代码如下:   
  var   xmlHttp;   
  //创建XMLHttpRequest对象   
  function   createXMLHttpRequest(){   
          if(window.ActiveXObject){   
                  xmlHttp   =   new   ActiveXObject("Microsoft.XMLHTTP");   
          }   
          else   if(   window.XMLHttpRequest   ){   
                  xmlHttp   =   new   XMLHttpRequest();   
          }   
  }   
   
  //发送请求   
  function   startRequest(){   
          createXMLHttpRequest();   
          xmlHttp.onreadystatechange   =   handleStateChange;   
          xmlHttp.open("GET","simpleRequest.xml",true);   
          xmlHttp.send(null);   
  }   
   
  //处理响应   
  function   handleStateChange(){   
          if(   xmlHttp.readyState   ==   4   ){   
                  {   
                          if(   xmlHttp.status   ==   200   ){   
                                  alert("Server   response   with:"+xmlHttp.responseText);   
                          }   
                  }   
          }   
  }   
  运行后无预期结果-------弹出提示窗口.而将处理响应函数改为如下后就可以:   
  function   handleStateChange(){   
          if(   xmlHttp.readyState   ==   4   ){   
                  {   
                                  alert("Server   response   with:"+xmlHttp.responseText);   
                  }   
          }   
  }   
  请教这是什么原因啊?




顶部
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  沙发
发表于 2008-3-18 12:40  资料  个人空间  短消息  加为好友 
我认为,这种情况绝大多数情况是因为用户在ajax.open时采用了异步调用的方式进行处理,即在服务器未影响时继续执行,因此会造成不能及时获得处理信息,造成ajax.status为空。   
  解决方案:ajax.open("GET",uri,false),将异步变为false即可。




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 12:09

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.067577 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版