1. 程式人生 > >Ajax實現區域性資料互動的一個簡單例項

Ajax實現區域性資料互動的一個簡單例項

  想要實現的功能:利用Ajax技術通過點選一個<button>按鈕,然後在指定的文字框中輸出想要的值。

1、使用Jsp建立一個前端頁面。

1 <body>
2     <div style="text-align: center;">
3         <div>
4             <input type="button" onclick="loadName()" value="Ajax獲取資料" />&nbsp;&nbsp;<input
5                 type="text" name="name" id="name" />
6
</div> 7 </div> 8 </body>

 

2、在Jsp頁面建立XMLHttpRequest物件,並且實現傳送請求和響應伺服器的功能。

 1 <script type="text/javascript">
 2     function loadName() {
 3         //獲取XMLHttpRequest物件(有些瀏覽器沒有XMLHttpRequest這個物件,所以獲取之前需要先判斷一下)
 4         var xmlHttp;
 5         if (window.XMLHttpRequest) {
6 xmlHttp = new XMLHttpRequest(); 7 } else { 8 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 9 } 10 // alert("readyState狀態:" + xmlHttp.readyState + ";status狀態:" + xmlHttp.status); 11 xmlHttp.onreadystatechange = function() { 12 //
alert("readState狀態:" + xmlHttp.readyState + ";status狀態:" + xmlHttp.status); 13 if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 14 //alert("readState狀態:" + xmlHttp.readyState + ";status狀態:" + xmlHttp.status); 15 //document.getElementById("name").value = xmlHttp.responseText; 16 document.getElementById("name").value=xmlHttp.responseText; 17 } 18 } 19 xmlHttp.open("get", "getAjaxName", true); 20 xmlHttp.send(); 21 } 22 </script>

 

3、編寫後臺處理該請求的servlet類。

 1 package com.java1234.web;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10 
11 public class GetAjaxNameServlet extends HttpServlet {
12 
13     /**
14      * 
15      */
16     private static final long serialVersionUID = 1L;
17 
18     @Override
19     protected void doGet(HttpServletRequest request, HttpServletResponse response)
20             throws ServletException, IOException {
21         this.doPost(request, response);
22     }
23 
24     @Override
25     protected void doPost(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         response.setContentType("text/html;charset=utf-8");
28         PrintWriter out = response.getWriter();
29         out.println("Ajax獲取到的資料");
30         out.flush();
31         out.close();
32     }
33 
34 }

 

4、配置web.xml檔案,進行程式碼功能的測試。

1  <servlet>
2       <servlet-name>getAjaxNameServlet</servlet-name>
3       <servlet-class>com.java1234.web.GetAjaxNameServlet</servlet-class>
4   </servlet>  
5   <servlet-mapping>
6       <servlet-name>getAjaxNameServlet</servlet-name>
7       <url-pattern>/getAjaxName</url-pattern>
8   </servlet-mapping>  

程式碼測試結果的截圖我就不在這上邊展示了,因為主要的目的是為了用一個簡單的例項說明Ajax要實現一個區域性資料互動的資料流程是什麼。我本人也是在摸索著學習,這篇文章幾乎沒啥文字敘述,上來直接就是擼程式碼,希望有相同興趣的小夥伴能多多提出你們寶貴的意見,大家相互學習,共同進步。接下來我會使用Ajax 實現使用者名稱檢查省市名稱查詢二級聯動的例項,希望大家多多批評指正!