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:請求已發送,正在處理中(通?,F在可以從響應中獲取內容頭)。
          • 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 益阳市| 治多县| 金乡县| 客服| 岑巩县| 吉木萨尔县| 呼伦贝尔市| 红河县| 普兰县| 东乡族自治县| 邢台市| 永清县| 县级市| 中卫市| 北京市| 噶尔县| 盈江县| 临朐县| 乾安县| 花莲县| 英德市| 宿州市| 康保县| 丽江市| 慈利县| 舟曲县| 安陆市| 昌江| 灯塔市| 赫章县| 澜沧| 含山县| 原阳县| 南澳县| 甘孜县| 增城市| 泰安市| 福安市| 岳西县| 小金县| 平乐县|