memung

          Ajax

          2008年10月15日
          9:36:12

          創建新的XMLHttpRequest對象:
              <script language="javascript" type="text/javascript">
              var request = new XMLHttpRequest();
              </script>
              javaScript 不要求指定變量類型

          創建 XMLHttpRequest 的 Java 偽代碼:
              XMLHttpRequest request = new XMLHttpRequest();
              JavaScript 中用 var 創建一個變量,給它一個名字(如 “request”),然后賦給它一個新的 XMLHttpRequest 實例。此后就可以在函數中使用該對象了。

          發送請求:
              1.設置服務器URL:var url = "/myservlet/ajax/2.jsp";
                如果需要增加另一個參數,只需要將其附加到 URL 中并用 “與”(&)字符分開 [第一個參數用問號(?)和腳本名分開]。?"phone=" + escape(phone)
              2.打開請求: request.open("GET",url,true);
                五個參數:request-type;url;asynch;username;password;
              3.發送請求: request.send(null);
                一個參數:要發送的內容。前面url本身已經發送過數據了,不需要再用send發送了,如果要是發送安全信息或xml則需要指定
              4.指定回調方法: request.onreadystatechange = updatePage;
                注意:onreadystatechange允許指定一個回調函數。在代碼中設置的位置要在send之前,這樣服務器在回答完成請求之后才能查看該屬性。
          處理響應:
                function updatePage(){
                    alert("Serve is done");
                }

          就緒狀態:
              request.readyState     當等于4的時候調用回調函數。
                                       另外:其他的幾種狀態是:
          • 0:請求未初始化(還沒有調用 open())。
          • 1:請求已經建立,但是還沒有發送(還沒有調用 send())。
          • 2:請求已發送,正在處理中(通常現在可以從響應中獲取內容頭)。
          • 3:請求在處理中;通常響應中已有部分數據可用了,但是服務器還沒有完成響應的生成。
          • 4:響應已完成;您可以獲取并使用服務器的響應了。
              獲取0就緒狀態:
              <input type="button" onclick="getData()" value="click"/>
              <script type="text/javascript">
                  function getData(){
                      var request = new XMLHttpRequest();
                      alert("Ready state is:"+request.readyState);
                  }
              </script>

              查看處理請求的就緒狀態:
              <input type="button" onclick="getData()" value="click"/>
              <script type="text/javascript">
                  var request;
                  function getData(){
                      request = new XMLHttpRequest();
                      alert("Ready state is:"+request.readyState);
                      var url = "/myservlet/ajax/2.jsp";
                      request.open("GET",url,true);
                      request.onreadystatechange=updatePage;
                      request.send(null);
                  }
                  function updatePage(){
                      alert("updatePage() called with ready sate of"+request.readyState);
                  }
              </script>

          響應數據:
              var new = request.responseText;  
              responseText屬性



          posted on 2008-10-15 14:23 異次元 閱讀(69) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 孟州市| 普陀区| 古蔺县| 浮山县| 康乐县| 宜川县| 永福县| 毕节市| 溆浦县| 淳化县| 赤峰市| 南京市| 化德县| 厦门市| 泰顺县| 剑川县| 色达县| 广州市| 蕉岭县| 偃师市| 寿光市| 康平县| 本溪| 叶城县| 自贡市| 蒙城县| 容城县| 那坡县| 中超| 宜黄县| 织金县| 杭州市| 连州市| 天水市| 宁陵县| 射洪县| 马关县| 特克斯县| 曲松县| 安西县| 罗田县|