您的位置:程序门 -> java -> web services / xml



ajax send后readystate总返回3


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


ajax send后readystate总返回3
发表于:2007-06-08 10:41:59 楼主
以下这段代码readystate总返回3,怎么会事啊,请指教啊!!:)
var   msxml   =   new   array( "msxml2 ", "msxml3 ", "microsoft ");
    var   req;
    function   yyajax(uri,method,asy,value)
    {    
          this.uri   =   encodeuricomponent   (uri);
          this.method   =   method;
          this.asy   =   asy;
          this.value=value;
         
          //alert   (uri+method+asy+value);
          this.serverconnect   =   function()
          {      
                      if(window.activexobject)
                        {        
                                    var   ieversion   =parsefloat(navigator.appversion);

                                    try{
                                                if(ieversion <5)
                                    {
                                                          for(var   i=0;i <msxml.length;i++){
                                                        try{
                                                                  req   =   new   activexobject( "microsoft.xmlhttp ");
  //req   =   new   activexobject(msxml[i]+ ".xmlhttp ");
  alert   (msxml[i]+ ".xmlhttp ");
                                                        }catch(e){}
                                                }
                       
                                    req   =   new   activexobject( "microsoft.xmlhttp ");
    }else
                                                  throw( "error! ");
                                    }catch(error)
                                    {
                                            alert(error);
                                            return   false;
                                    }
                          }else   if(window.xmlhttprequest)
                          {
                                  try{
                                              req   =   new   xmlhttprequest();
                                             
                                              if(req.overridemimetype)
                                                  req.overridemimetype( "text/xml ");
                                                 
                                            }catch(e){return   false;}
                          }
                                         
                          if(!req)
                                return   false;                        
                                req.onreadystatechange   =   this.processrequest;

                                this.send();
          }  
     
          this.send   =   function(){
 
  parameters   =   this.value;
                  if(this.method.tolowercase()== "post ")
                  {      
                          req.open(this.method,this.uri,this.asy);

  req.setrequestheader( "method ",   "post ");
  req.setrequestheader( "http-version ",   "http/1.1 ");
                          req.setrequestheader( 'content-type ',   'application/x-www-form-urlencoded;charset=gb2312 ');  


req.send(parameters);
                  }
                else{
                       
                        req.open(this.method,this.uri,this.asy);
                        req.send(a);
                }
          }        

          this.processrequest   =   function(){
                  if(req.readystate==4)
                  {  
                          if(req.status==200)
                              {  
                                  var   str   =   req.responsetext;
                                  if(str!= " ")
                                        document.getelementbyid( "board ").innerhtml   =   str;
                                        document.getelementbyid( "board ").scrolltop=document.getelementbyid( "board ").scrollheight;  
                                 
                          }
                  }else{
                switch(req.readystate)
                {
                    case   0:
                        document.getelementbyid( "rel ").innerhtml= "对象已经建立,但未初始化 ";
                        break;
                    case   1:
                        document.getelementbyid( "rel ").innerhtml= "对象已经建立,但尚未调用send() ";
                        break;
                    case   2:
                        document.getelementbyid( "rel ").innerhtml= "send()方法已经调用,但当前状态及http头未知 ";
                        break;
                    case   3:
                        document.getelementbyid( "rel ").innerhtml= "已接受部分数据,因为响应及http头不全,这时通过responsebody和responsetext获取部分数据会出现错误 ";
                        break;
                    default:break;
                }
                }

        }
}


快速检索

最新资讯
热门点击