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

          AJAX基本框架

          Posted on 2008-04-19 15:11 semovy 閱讀(439) 評論(0)  編輯  收藏 所屬分類: ajax
          //創建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;
          }
          //發送請求
          /*
           @http_request 異步請求對象
           @url 請求位置
           @method 請求方法
           @content 請求內容 eg. param1=xxx1&param2=xxx2
           @callBack 請求回調
          */
          function send_request(http_request,url,method,content,callBack)
          {
           if(!http_request)
           {
            alert('無法創建異步請求對象!');
            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>
          主站蜘蛛池模板: 光山县| 安阳县| 濮阳县| 金门县| 潍坊市| 临西县| 万宁市| 潼关县| 乌兰浩特市| 博客| 泽州县| 禹州市| 十堰市| 泰宁县| 怀远县| 徐水县| 长顺县| 赤壁市| 滨海县| 娱乐| 博爱县| 东乡| 调兵山市| 紫云| 河池市| 陇南市| 漯河市| 汉中市| 内丘县| 广平县| 鄱阳县| 乐安县| 那曲县| 彰化县| 万全县| 定边县| 永福县| 冷水江市| 蕲春县| 方城县| 东山县|