posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          AJAX基本框架

          Posted on 2008-04-19 15:11 semovy 閱讀(445) 評論(0)  編輯  收藏 所屬分類: ajax
          //創(chuàng)建XMLHttpRequest對象
          function getXMLHttpRequest()
          {
           http_request = false;
           if(window.XMLHttpRequest)
           {
            http_request = new XMLHttpRequest();
            if(http_request.overrideMimeType)
             http_request.overrideMimeType("text/xml");
           }
           else
           {
            if(window.ActiveXObject)
            {
             try
             {
              http_request = new ActiveXObject("Msxml2.XMLHTTP");
             }
             catch(e)
             {
              try
              {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
              }catch(e)
              {
               
              }
             }
            }
           }
           return http_request;
          }
          //發(fā)送請求
          /*
           @http_request 異步請求對象
           @url 請求位置
           @method 請求方法
           @content 請求內(nèi)容 eg. param1=xxx1&param2=xxx2
           @callBack 請求回調(diào)
          */
          function send_request(http_request,url,method,content,callBack)
          {
           if(!http_request)
           {
            alert('無法創(chuàng)建異步請求對象!');
            return;
           }
           http_request.onreadystatechange = callBack;
           if(method.toUpperCase() == 'GET')
           {
            http_request.open(method,url,true);
            http_request.setRequestHeader('Content-Type','text/html;charset=UTF-8');
           }
           else if(method.toUpperCase == 'POST')
           {
            http_request.open(method,url,true);
            http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
           }
           else
           {
            alert('請求方法出錯!');
            return;
           }
           http_request.send(content);
          }
          //返回文本的
          function getWebContent()
          {
           var webConReq = getXMLHttpRequest();//ajax不支持跨跨域訪問
           send_request(webConReq,'./servlet/testServlet','get',null,
           function()
           {
            if(webConReq.readyState == 4)
            {
             if(webConReq.status == 200)
             {
              var doc = webConReq.responseText;
              if(doc)
              {
               document.getElementById("pageCon").innerHTML = doc;
              }
             }
             else
             {
              alert('請求失敗!');
             }
            }
           }
           );
          }
          //返回xml
          function getXml()
          {
           var webConReq = getXMLHttpRequest();//ajax不支持跨跨域訪問
           send_request(webConReq,'./NewFile.xml','get',null,
           function()
           {
            if(webConReq.readyState == 4)
            {
             if(webConReq.status == 200)
             {
              var doc = webConReq.responseXML;
              if(doc)
              {
               var root = doc.getElementsByTagName("items")[0];
               var items = root.getElementsByTagName("item");
               var html = '';
               for(var i=0;i<items.length;i++)
               {
                html += "id:" + items[i].getAttribute('id');
                html += " name:" + items[i].getAttribute('name');
               }
               document.getElementById("xml").innerHTML = html;
              }
             }
             else
             {
              alert('請求失敗!');
             }
            }
           }
           );
          }

            <a href="javascript:getWebContent();">異步獲取頁面</a> 
            <font id="pageCon"></font><br>
            <a href="javascript:getXml();">異步XML</a> 
            <font id="xml"></font>
          主站蜘蛛池模板: 洪江市| 清流县| 东宁县| 祁连县| 三明市| 道真| 淮阳县| 江阴市| 通州区| 湘乡市| 文昌市| 嘉兴市| 冀州市| 阿尔山市| 新民市| 富民县| 亚东县| 南丰县| 汝州市| 蓬溪县| 寿宁县| 瑞安市| 唐海县| 华阴市| 襄樊市| 突泉县| 涞水县| 介休市| 安新县| 安徽省| 和静县| 桐城市| 玉溪市| 定边县| 灵宝市| 揭西县| 邵阳县| 甘孜县| 尼木县| 长治市| 肥西县|