加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AJAX中的XMLHttpRequest对象

发布时间:2020-12-16 01:57:19 所属栏目:百科 来源:网络整理
导读:主要作用:在后台与服务器交换数据,这样就可以实现部分的更新数据,不需要重新的加载页面。 像所有的对象一样,XMLHttpRequest也有自己的属性和方法,这些属性和方法实现该对象的功能。 XMLHttpRequest对象的使用分为五步 其中涉及到了很多该对象的属性和方

主要作用:在后台与服务器交换数据,这样就可以实现部分的更新数据,不需要重新的加载页面。

像所有的对象一样,XMLHttpRequest也有自己的属性和方法,这些属性和方法实现该对象的功能。

XMLHttpRequest对象的使用分为五步

其中涉及到了很多该对象的属性和方法,我们来一步一步的看看

1、创建

虽然XMLHttpRequest对象在所有的浏览器上都兼容,但是在不同的浏览器上的创建是不一样的。

//1、创建XMLHttpRequest对象
               if(window.XMLHttpRequest){
                   //IE7、8,Firefox,Opera,Safari,Mozilla
                   xmlhttp=newXMLHttpRequest();//直接实例化
                   if(xmlhttp.overrideMimeType){//Mozilla在没xml的mimetype头的时候无法正常工作
                       xmlhttp.overrideMimeType("text/xml")//如果发来的不是text/xml就要忽略
                   }
               }elseif(window.ActiveXObject){
                 // IE6及其以下
                  //创建一个数组包括所有可以用来创建XMLHttpRequest所有ActiveXObject的名字
   var activexName=["MSXML2.XMLHTTP","Miscrosoft.XMLHTTP"];
                   for(var i=0;i<activexName.length;i++){
                       try{//如果没有就会报错,所以使用try
                          xmlhttp=newActiveXObject(activexName[i]);
                           break;
                       }catch(e){
                          
                       }
                    }
               }
               if(xmlhttp ==undefined|| xmlhttp ==null){
                   alert("当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器");
                   return;
               }<span style="font-size:18px; font-family: Arial,Helvetica,sans-serif; background-color: rgb(255,255,255);"></span>

2、 注册回调方法

          xmlhttp.onreadystatechange=callback;//只是让它找到回调方法
          //错误写法如下
          //xmlhttp.onreadystatechange=callback();//这样得到的是数据
              
          //获得用户在文本框中输入的内容
          var userName=document.getElementById("UserName").value;

3、设置和服务器交互的相应的参数

xmlhttp.open("Get","AJAX?name="+userName,true);

4、设置向服务器发送的数据,启动和服务器端的交互

send(null); 一般为get使用null

send(string)仅适用于POST请求

5、判断和服务器端的交互是否完成还判断服务器端是否正确的返回了数据

function callback(){
                     if(xmlhttp.readyState==4){
                    //表示完成交互
                    if(xmlhttp.status==200){
                        //表示服务器相应的代码是200,正确返回了数据
                        //如果返回的是是纯文本的接收方法
                        var message=xmlhttp.responseText;
                        //如果返回的是xml数据对应的DOM对象接收方法
                        //前提是服务器端需要设置content-type为text/xml
                        //var domXml=xml.requestXML;
                        //
                        //动态的向div标签中填充文本内容
                        var div=document.getElementById("message");
                        div.innerHTML=message;
                    }
                }
            }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读