CNET中国旗舰网站

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





 
标题: [转贴] 新手请教用ajax,怎么还要刷新
mz89757053
版主
Rank: 7Rank: 7Rank: 7


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

新手请教用ajax,怎么还要刷新

我的页面用了ajax,就是从数据库中读值,可是当进入页面的时候,总是要刷新一下,所有的数据才能显示阿,请各位大虾指点小弟一下谢谢   
  代码如下:   
      function   castVote(str,id)   {   
   
    var   useid=str;   
      useid=useid.Trim()   
      if   (useid   !=   "")   
      {   
      var   url   =   "prince.asp?flag="+useid;   
    //alert(url)   
      if   (id==1)   
      {   
      var   callback   =   processAjaxResponse;   
      try{   
      setTimeout(   executeXhr(callback,   url),1000);   
      }   
      catch(err)   
      {   
        executeXhr(callback,   url);   
      }   
      var   recallback=mytype;   
      var   reurl="prince.asp?flag=mytype"   
      try{   
      setTimeout(executeXhr(recallback,   reurl),3000);   
      }   
      catch(err)   
      {   
          executeXhr(recallback,   reurl);   
      }   
      var   mycallback=revale;   
      var   myurl="prince.asp?flag=all"   
      try{   
          setTimeout(executeXhr(mycallback,   myurl),3000);   
    }   
      catch(err)   
      {   
          executeXhr(mycallback,   myurl);   
      }   
      var   chcallback=logined;   
      var   churl="prince.asp?flag=check"   
      try   
      {   
          setTimeout(executeXhr(chcallback,   churl),3000);   
  }   
  catch(err)   
  {   
  executeXhr(chcallback,   churl);   
  }   
        }   
      else   
      {   
      var   callback   =   city;   
      try{   
      setTimeout(executeXhr(callback,   url),3000);   
      }   
      catch(err)   
      {   
      executeXhr(callback,   url);   
      }   
      }   
        
      }   
  }   
  function   executeXhr(callback,   url)   {   
        if   (window.XMLHttpRequest)   {   
          req   =   new   XMLHttpRequest();   
          req.onreadystatechange   =   callback;   
          req.open("GET",   url,   true);   
          req.send(null);   
      }     
      else   if   (window.ActiveXObject)   {   
          req   =   new   ActiveXObject("Microsoft.XMLHTTP");   
          if   (req)   {   
              req.onreadystatechange   =   callback;   
              req.open("GET",   url,   true);   
              req.send();   
          }   
      }   
  }   
  function   processAjaxResponse()   {   
      if   (req.readyState   ==   4)   {   
          if   (req.status   ==   200)   {   
        if   (req.responseText!="")   
        {   
            var   prince=req.responseText;   
    //prince=prince.Trim();   
    var   arr=new   Array();   
    arr=prince.split("/")   
    var   option;   
    //alert(prince);   
      
    for   (var   u   in   arr)   
        {   
            document.myform.Provnice.options.add(new   Option(arr,arr));   
  //   document.myform.prinvce.options.text=arr   
        }   
        }   
        else     
        {if   (req.responseText=="false")   
            alert("很遗憾次用户名已经被注册,请用其它的用户名!")   
    //yanzheng.innerText="用户名不可用!";   
    //errnum=1   
        }   
                //alert("There   was   a   problem   retrieving   the   XML   data:"   +   req.responseText);   
          }   
      
      }   
  }   
   
  function   city()   {   
      if   (req.readyState   ==   4)   {   
          if   (req.status   ==   200)   {   
   
            var   prince=req.responseText;   
    //prince=prince.Trim();   
    var   arr=new   Array();   
    arr=prince.split("/")   
    var   option;   
    var   len=document.myform.city.options.length;     
  for(   i=0;   i<len;   i++)     
  {     
  document.myform.city.options.remove   (0)     
  }     
   
    //document.myform.city.options.remove(new   Option(arr,arr));   
      //document.myform.city.options.add(new   Option("   ","   ");   
          document.myform.city.options.add(new   Option("请选择",""));   
    for   (var   u   in   arr)   
        {   
            document.myform.city.options.add(new   Option(arr,arr));   
  //   document.myform.prinvce.options.text=arr   
        }   
   
                //alert("There   was   a   problem   retrieving   the   XML   data:"   +   req.responseText);   
          }   
      
      }   
  }   
   
  function   logined()   {   
      if   (req.readyState   ==   4)   {   
          if   (req.status   ==   200)   {   
   
            var   prince=req.responseText;   
    //alert(prince)   
                    if   (prince=="false")   
    {   
        top.location="login.asp"   
    }   
          }   
      
      }   
  }   
  function   revale()   {   
      if   (req.readyState   ==   4)   {   
          if   (req.status   ==   200)   {   
   
            var   prince=req.responseText;   
    //prince=prince.Trim();   
    var   arr=new   Array();   
    arr=prince.split("/")   
    //var   option;   
    var   len=document.myform.city.options.length;     
  document.myform.Contact.value   =   arr[0]   
  document.myform.NickName.value=   arr[1]   
  if   (arr[2]=="男")   
  {   
      document.myform.Sex[0].checked=true;   
  }   
  else   
  {   
      document.myform.Sex[1].checked=true;   
  }   
  document.myform.BrithDay.value=arr[3]   
  document.myform.IDCardNumber.value=arr[4]   
  var   plen=document.myform.Provnice.options.length;     
  for   (var   i=0;i<plen;i++)   
  {   
      if(document.myform.Provnice.options.value==arr[5])   
      {   
          document.myform.Provnice.options.selected=true;   
  castVote(arr[5],0)   
      }   
  }   
  var   clen=document.myform.city.options.length;   
    for   (var   s=0;s<clen;s++)   
    {   
      //   alert(document.myform.city.options[s].value)   
        if(document.myform.city.options[s].value==arr[6])   
      {   
         
          document.myform.city.options[s].selected=true;   
      }     
            }   
  document.myform.Addr.value=arr[7];   
  document.myform.PostCode.value=arr[8]   
  document.myform.Mobile.value=arr[9]   
  document.myform.Tel.value=arr[10]   
  document.myform.QQ.value=arr[11]   
  document.myform.MSN.value=arr[12]   
  document.myform.EnteName.value=arr[13]   
  document.myform.LicenseNumber.value=arr[14]   
  document.myform.Entescale.value=arr[15]   
  document.myform.EnteContent.value=arr[16]   
  var   elen=document.myform.ClassID.options.length   
  for(var   h=0;h<elen;h++)   
  {   
        if(document.myform.ClassID.options[h].value==arr[17])   
      {   
         
          document.myform.city.options[h].selected=true;   
      }     
  }   
                //alert("There   was   a   problem   retrieving   the   XML   data:"   +   req.responseText);   
          }   
      
      }   
  }   
   
  function   mytype()   
  {   
    if   (req.readyState   ==   4)   {   
          if   (req.status   ==   200)   {   
                     
            var   prince=req.responseText;   
   
    //prince=prince.Trim();   
    var   arr=new   Array();   
    arr=prince.split("/")   
    var   option;   
            
    for   (var   u   in   arr)   
        {   
            
  var   barr=new   Array();   
  barr=arr.split(",")   
  //alert(barr[0])   
  //alert(barr[1])   
            document.myform.ClassID.options.add(new   Option(barr[0],barr[1]));   
  //   document.myform.prinvce.options.text=arr   
        }   
   
                //alert("There   was   a   problem   retrieving   the   XML   data:"   +   req.responseText);   
          }   
      
      }   
  }




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


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  沙发
发表于 2008-3-18 13:26  资料  个人空间  短消息  加为好友 
我是用静态页读数据库,用的ajax,我的登录页直接指向这个页面,当第一次指向这个页面的时候,页面,什么都没有,可是刷新一下就没有问题了。   
      我不知道是不是由于异步通信的原因   
  每个executeXhr()函数都是通过另一个页面有返回值得   
  然后在操作本页面   
   
    function   castVote(str,id)   {   
    var   useid=str;   
      useid=useid.Trim()   
      if   (useid   !=   "")   
      {   
      var   url   =   "prince.asp?flag="+useid;   
      if   (id==1)   
      {   
      var   callback   =   processAjaxResponse;   
        
      executeXhr(callback,   url)   
      var   recallback=mytype;   
      var   reurl="prince.asp?flag=mytype"   
        executeXhr(recallback,   reurl)   
        var   mycallback=revale;   
      var   myurl="prince.asp?flag=all"   
      
      executeXhr(mycallback,   myurl)   
          var   chcallback=logined;   
      var   churl="prince.asp?flag=check"   
      executeXhr(chcallback,   churl)   
   
   
        }   
      else   
      {   
      var   callback   =   city;   
        executeXhr(callback,   url)   
        }   
        
      }   
  }




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



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

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

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