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

          案例:實(shí)現(xiàn)ajax異步通信,局部刷新。開(kāi)發(fā)環(huán)境:tomcat服務(wù)器(必須)。。

          ajax_1_1.html:
          <script>    
          var xmlHttp;

          //創(chuàng)建XMLHttpRequest異步對(duì)象
          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)
                  
          // 請(qǐng)求狀態(tài)為4,即請(qǐng)求完成
                  if(xmlHttp.status == 200){
                      
          // 服務(wù)器的狀態(tài)碼為200,即狀態(tài)OK,沒(méi)有異常,在這里做你想做的。。
                      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="測(cè)試異步通信" onclick="doajax();">

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

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


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


          將上述返回值的形式改為 XML: ( 只要改一下回調(diào)函數(shù)。Action中需要設(shè)置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格式的數(shù)據(jù)
                          var messageNodes = domObj.getElementsByTagName("message"); //返回的是一個(gè)數(shù)組
                          var textNode = messageNodes[0].firstChild; //取到文本內(nèi)容對(duì)應(yīng)的結(jié)點(diǎn)
                          var messageStr = textNode.nodeValue; //返回文本信息
                          alert(messageStr);
                      }

                  }

              }


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

          FeedBack:
          # re: ajax入門(mén)
          2009-01-07 12:39 | 花貓的花生
          常來(lái)看看,監(jiān)督你學(xué)習(xí),哈哈。加油,成為最牛的產(chǎn)品經(jīng)理我當(dāng)你助理,哈哈。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 岑溪市| 庆阳市| 阳原县| 惠州市| 宁津县| 锡林浩特市| 炎陵县| 太仓市| 揭阳市| 哈密市| 韶山市| 城市| 佳木斯市| 杂多县| 尖扎县| 盐城市| 丰县| 克山县| 运城市| 邵阳县| 津市市| 独山县| 稻城县| 柳江县| 绥棱县| 西乌珠穆沁旗| 古田县| 柳河县| 墨竹工卡县| 织金县| 石楼县| 彭阳县| 郴州市| 桐城市| 长顺县| 阿鲁科尔沁旗| 榆中县| 江西省| 上思县| 德江县| 永靖县|