IT精英俱樂部

          方便自己查閱,僅此而已!

          導航

          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          隨筆分類

          收藏夾

          隨筆檔案

          統計

          留言簿(4)

          閱讀排行榜

          評論排行榜

          創建XMLHtttRequest對象

          創建XMLHtttRequest對象(針對mozilla,IE8,FF,IE5,IE5.5,IE6,IE7)
          //2、創建XMLHttpRequest對象
              //這其實是XMLHttpReqest對象使用最復雜的一步
              //針對IE和其他類型瀏覽器建立這個對象的不同方式寫不同的代碼
             
              if(window.XMLHttpRequest){
              //針對firefox,mozillaz,opera,IE7,IE8
                  xmlhttp = new XMLHttpRequest();
                  //用于修復某些Mozillaz瀏覽器bug
                  if(xmlhttp.overrideMimeType)
                  {
                      xmlhttp.overrideMimeType("text/xml");
                  }
              }
              else if(window.ActiveXObject){
                  //針對IE6,IE5.5,IE5
                  //兩個都可以創建XMLHttpRequest對象,保存在js數組中
                  var activeName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];

          //var activeName= ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0', //'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0', //'MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
                  for(var i =0;i<activeName.length;i++)
                  {//取出一個控件名來創建XMLHttpRequest對象,創建成功就終止循環,如果創建失敗可以繼續創建
                  //可以拋出異常,繼續創建
                      try{
                          xmlhttp= new ActiveXObject(activeName[i]);
                          break;
                      }catch(e){
                      }
                  }
                 
              }
              //確認XMLHttpRequest對象已經創建成功
              if(!xmlhttp)
              {
                  alert("XmlHttpRequest創建失敗");
                  return;
              }   
             
             
              //3、注冊回調函數,函數名后面不要加括號
              //如果加了括號,就變成了調用函數,會把函數的返回值發揮給xmlhttp,沒有達到我們的目的  
              xmlhttp.onreadystatechange=callback;
             
              //4、設置連接信息
              //第一個參數設置http請求方式,主要是get和post兩種方式
              //第二個參數是uri地址
              //第三個參數表示異步交互還是同步交互方式,true表示異步,false表示同步
              xmlhttp.open("GET","/JQuery/servlet/AjaxServlet?name="+username,true);
             
              //5、發送數據開始和服務器端交互
              //同步方式下,send這句話會在服務器端的數據回來后,才執行完
              //異步方式下,send會立即執行完
              xmlhttp.send(null);
          }
          //5、寫回調函數
          //回調函數
          function callback(){
              //接收相應的相應數據
              //判斷交互狀態已經完成
              if(xmlhttp.readyState ==4)
              {
                  //判斷http的交互狀態
                  if(xmlhttp.status == 200)
                  {
                     //獲取服務器端返回的數據
                      //獲取服務器端純文本數據
                      var responseText = xmlhttp.responseText;
                      //將數據顯示在頁面上
                      //通過dom獲取div元素節點
                      var divNode =document.getElementById("result");
                      //設置元素節點的html內容
                      divNode.innerHTML=responseText;
                  }   
              }

           

          posted on 2009-09-04 21:18 suplayer 閱讀(203) 評論(0)  編輯  收藏 所屬分類: Ajax


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 澄江县| 湖南省| 普安县| 邹平县| 清涧县| 班玛县| 大埔区| 马鞍山市| 砀山县| 湾仔区| 天津市| 仲巴县| 衡南县| 天柱县| 东兴市| 东阳市| 郸城县| 金昌市| 托里县| 秦皇岛市| 利津县| 陆川县| 芜湖县| 锡林浩特市| 济南市| 黄石市| 隆化县| 波密县| 开封市| 广宗县| 谢通门县| 南溪县| 安达市| 镇江市| 兴安盟| 凯里市| 农安县| 廊坊市| 容城县| 永年县| 屯昌县|