花花JAVA
          ____________花花之java寒舍
          posts - 10,comments - 4,trackbacks - 0
          Ajax(Asynchronous JavaScript and XML,異步JavaScript與XML),俗稱“阿賈克斯”。
                  由4部分組成:JS + CSS + DOM + XMLHttpRequest

          案例:實現ajax異步通信,局部刷新。開發環境:tomcat服務器(必須)。。

          ajax_1_1.html:
          <script>    
          var xmlHttp;

          //創建XMLHttpRequest異步對象
          function createXMLHttpRequest(){
              
          if(window.ActiveXObject){
                  
          // 如果存在ActiveXObject,就是IE瀏覽器
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              }
          else if(window.XMLHttpRequest){
                  
          // 用于除IE以外的其他瀏覽器
                  xmlHttp = new XMLHttpRequest();
              }

          }


          function startCallback() {
              
          if(xmlHttp.readyState == 4)
                  
          // 請求狀態為4,即請求完成
                  if(xmlHttp.status == 200){
                      
          // 服務器的狀態碼為200,即狀態OK,沒有異常,在這里做你想做的。。
                      alert(xmlHttp.responseText);
                  }
           
              }

          }
              

          function doajax(){
              createXMLHttpRequest();
              
          var url = "ajax_2_2.jsp";
              xmlHttp.open(
          "GET",url,true);
              xmlHttp.onreadystatechange
          =startCallback;
              xmlHttp.send(
          null);
          }

          </script>

          <input type="button" value="測試異步通信" onclick="doajax();">

          將上述doajax換成 "POST" 方法請求ajax:
          //post方式請求ajax,需要設置setRequestHeader,將參數放置在send中。
              function doajax_post() {
                  createXMLHttpRequest();
                  
          var par = "abcd";
                  xmlHttp.open(
          "POST""/ajax_jquery/ajax_old/testajax.do"true);
                  
          //需要設置setRequestHeader
                  xmlHttp.setRequestHeader("Content-Type",
                          "application/x-www-form-urlencoded");

                  xmlHttp.onreadystatechange 
          = startCallback;
                  
          //在send()方法中傳參
                  xmlHttp.send("param=" + par);
              }


          ajax_2_2.jsp:(注意字符編碼問題)
          <%@ page language="java" pageEncoding="UTF-8"%>
          異步測試成功,恭喜您!!!


          將上述返回值的形式改為 XML: ( 只要改一下回調函數。Action中需要設置response.setContentType("text/xml;charset=utf-8"); )
          function callback_responseXML() {
                  
          if (xmlHttp.readyState == 4{
                      
          if (xmlHttp.status == 200{
                          alert(xmlHttp.responseText);
                          
          var domObj = xmlHttp.responseXML//返回XML格式的數據
                          var messageNodes = domObj.getElementsByTagName("message"); //返回的是一個數組
                          var textNode = messageNodes[0].firstChild; //取到文本內容對應的結點
                          var messageStr = textNode.nodeValue; //返回文本信息
                          alert(messageStr);
                      }

                  }

              }


          *  Action返回給ajax數據的方式:response.getWriter().println("responseText");
          posted on 2009-01-07 11:42 花-花 閱讀(253) 評論(1)  編輯  收藏 所屬分類: ajax_jquery

          FeedBack:
          # re: ajax入門
          2009-01-07 12:39 | 花貓的花生
          常來看看,監督你學習,哈哈。加油,成為最牛的產品經理我當你助理,哈哈。  回復  更多評論
            
          主站蜘蛛池模板: 庆元县| 祁连县| 资源县| 新竹县| 宜兴市| 新邵县| 根河市| 苗栗县| 河北省| 莒南县| 沾化县| 西藏| 霍山县| 资阳市| 桃园县| 千阳县| 鄂伦春自治旗| 华宁县| 星子县| 五莲县| 阳新县| 武宣县| 海南省| 垣曲县| 房产| 武威市| 龙川县| 安徽省| 临泽县| 红原县| 元氏县| 富顺县| 蕉岭县| 吉安市| 北京市| 武清区| 阜平县| 泰安市| 正阳县| 莱州市| 静海县|