Ajax學習教程

什麼是AJAX

Ajax 是Asynchronous JavaScript And XML(異步的JavaScript 和 XML)。Ajax不是一種新技術,它的特點是:在不重新加載整個頁面的情況下,於服務器交換數據並實現頁面的局部刷新。


AJAX使用流程

  1. 創建XMLHttpRequest對象

  2. 向服務器發送ajax請求

  3. 處理服務器響應(服務器處理完請求並返回響應數據後,通過JavaScript對響應數據進行後續處理)

cd


AJAX 實例

@WebServlet("/content") //@WebServlet註解相當於web.xml文件
public class IndexServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //設置Content-Type內容類型
        response.setContentType("text/html; charset=UTF-8");
        //瀏覽器打印輸出
        response.getWriter().println("<h1>發送Ajax請求後的響應數據!</h1>");
    }
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>

  <div id="divContent">使用Ajax修改文件內容</div>
  <br>
  <button id="btn" type="button">修改</button>

  <script>
      document.getElementById("btn").onclick = function() {
          /* 1. 創建XmlHttpRequest對象 */
          var xmlhttp;
          if (window.XMLHttpRequest) {
              //新版瀏覽器執行的代碼
              xmlhttp = new XMLHttpRequest();
          } else {
              //舊版IE瀏覽器執行的代碼
              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          }

          /* 2. 向服務器發送ajax請求 */
          //創建http請求
          xmlhttp.open("GET", "/content", true);
          //發送請求到服務器
          xmlhttp.send();

          /* 3. 處理服務器響應 */
          //監聽ajax執行過程,捕捉ajax執行狀態(這是ajax的核心事件,當ajax的狀態發生變化時,就會觸發這個時間)
          xmlhttp.onreadystatechange = function(){
              //請求被成功處理並且響應已被接收時執行
              if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                  //獲取響應體的文本
                  var responseText = xmlhttp.responseText;
                  //對服務器響應結果進行後續渲染處理
                  document.getElementById("divContent").innerHTML = responseText;
              }
          };
      };
  </script>
</body>
</html>

AJAX 實例解析

創建XMLHttpRequest對象:

  • XMLHttpRequest對象用於 在後臺與服務器交換數據。這就是ajax可以在不刷新整個網頁的情況下,向服務器獲取數據對網頁進行局部刷新。

向服務器發送ajax請求:
在這裏插入圖片描述

獲取服務器響應數據:

服務器處理完ajax請求後,返回的響應數據,可以通過XMLHttpRequest對象的 responseText 或responseXML 屬性

屬性 描述
responseText 獲取 字符串 形式的響應數據
responseXML 獲取 XML 形式的響應數據

onreadystatechange事件:

XMLHttpRequest對象有三個重要屬性
cd
每當 readyState 改變時,就會觸發 onreadystatechange 事件。onreadystatechange 事件被觸發 5 次(0 - 4),對應着 readyState 的每個變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章