日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AJAX详解教程

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AJAX详解教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • AJAX(Asynchronous JavaScript And XML):異步的 JavaScript 和 XML。
  • 本身不是一種新技術,而是多個技術綜合。用于快速創建動態網頁的技術。
  • 一般的網頁如果需要更新內容,必需重新加載個頁面。
  • 而 AJAX通過瀏覽器與服務器進行少量數據交換,就可以使網頁實現異步更新。也就是在不重新加載整個頁 面的情況下,對網頁的部分內容進行局部更新。

同步&異步:

同步:在客戶端向服務器發送請求時,用戶需要等待服務器的返回結果才能繼續 異步:在客戶端向服務器發送請求時,可以做其他的事情。

AJAX介紹:

  • AJAX(Asynchronous JavaScript And XML):異步的 JavaScript 和 XML。

  • 本身不是一種新技術,而是多個技術綜合。用于快速創建動態網頁的技術。

  • 一般的網頁如果需要更新內容,必需重新加載個頁面。

  • 而 AJAX 通過瀏覽器與服務器進行少量數據交換,就可以使網頁實現異步更新。也就是在不重新加載整個頁 面的情況下,對網頁的部分內容進行局部更新。

原生JS實現AJAX:

代碼實現

import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;@WebServlet("/userServlet") public class UserServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//設置請求和響應的亂碼req.setCharacterEncoding("UTF-8");resp.setContentType("text/html;charset=UTF-8");//1.獲取請求參數String username = req.getParameter("username");//模擬服務器處理請求需要5秒鐘/*try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}*///2.判斷姓名是否已注冊if ("zhangsan".equals(username)) {resp.getWriter().write("<font color='red'>用戶名已注冊</font>");} else {resp.getWriter().write("<font color='green'>用戶名可用</font>");}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

html代碼:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>用戶注冊</title> </head> <body> <form autocomplete="off">姓名:<input type="text" id="username"><span id="uSpan"></span><br>密碼:<input type="password" id="password"><br><input type="submit" value="注冊"> </form> </body> <script>//1.為姓名綁定失去焦點事件document.getElementById("username").onblur = function () {//2.創建XMLHttpRequest核心對象let xmlHttp = new XMLHttpRequest();//3.打開鏈接let username = document.getElementById("username").value;xmlHttp.open("GET", "userServlet?username=" + username, true);//xmlHttp.open("GET","userServlet?username="+username,false);//4.發送請求xmlHttp.send();//5.處理響應xmlHttp.onreadystatechange = function () {//判斷請求和響應是否成功if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {//將響應的數據顯示到span標簽document.getElementById("uSpan").innerHTML = xmlHttp.responseText;}}} </script> </html>

原生JS實現AJAX詳解:

核心對象:XMLHttpRequest

用于在后臺與服務器交換數據。可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

打開鏈接:open(method,url,async):

  • method:請求的類型 GET 或 POST。
  • url:請求資源的路徑。
  • async:true(異步) 或 false(同步)。

發送請求:send(String params):

  • params:請求的參數(POST 專用)。

處理響應:onreadystatechange:

  • readyState:0-請求未初始化,1-服務器連接已建立,2-請求已接收,3-請求處理中,4-請求已完成,且響應已就緒。
  • status:200-響應已全部 OK。

獲得響應數據形式:

  • responseText:獲得字符串形式的響應數據。
  • responseXML:獲得 XML 形式的響應數據。

JQuery的GET方式實現AJAX:

核心語法:$.get(url,[data],[callback],[type]);

  • url:請求的資源路徑。
  • data:發送給服務器端的請求參數,格式可以是key=value,也可以是 js 對象。
  • callback:當請求成功后的回調函數,可以在函數中編寫我們的邏輯代碼。
  • type:預期的返回數據的類型,取值可以是 xml, html, js, json, text等。

代碼實現:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>用戶注冊</title> </head> <body><form autocomplete="off">姓名:<input type="text" id="username"><span id="uSpan"></span><br>密碼:<input type="password" id="password"><br><input type="submit" value="注冊"></form> </body> <script src="js/jquery-3.3.1.min.js"></script> <script>//1.為用戶名綁定失去焦點事件$("#username").blur(function () {let username = $("#username").val();//2.jQuery的GET方式實現AJAX$.get(//請求的資源路徑"userServlet",//請求參數"username=" + username,//回調函數function (data) {//將響應的數據顯示到span標簽$("#uSpan").html(data);},//響應數據形式"text");}); </script> </html>

JQuery的POST方式實現AJAX:

核心語法:$.post(url,[data],[callback],[type]);

  • url:請求的資源路徑。
  • data:發送給服務器端的請求參數,格式可以是key=value,也可以是 js 對象。
  • callback:當請求成功后的回調函數,可以在函數中編寫我們的邏輯代碼。
  • type:預期的返回數據的類型,取值可以是 xml, html, js, json, text等。

代碼實現:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>用戶注冊</title> </head> <body><form autocomplete="off">姓名:<input type="text" id="username"><span id="uSpan"></span><br>密碼:<input type="password" id="password"><br><input type="submit" value="注冊"></form> </body> <script src="js/jquery-3.3.1.min.js"></script> <script>//1.為用戶名綁定失去焦點事件$("#username").blur(function () {let username = $("#username").val();//2.jQuery的POST方式實現AJAX$.post(//請求的資源路徑"userServlet",//請求參數"username=" + username,//回調函數function (data) {//將響應的數據顯示到span標簽$("#uSpan").html(data);},//響應數據形式"text");}); </script> </html>

JQuery的通用方式實現AJAX

核心語法:$.ajax({name:value,name:value,…});

  • url:請求的資源路徑。
  • async:是否異步請求,true-是,false-否 (默認是 true)。
  • data:發送到服務器的數據,可以是鍵值對形式,也可以是 js 對象形式。
  • type:請求方式,POST 或 GET (默認是 GET)。
  • dataType:預期的返回數據的類型,取值可以是 xml, html, js, json, text等。
  • success:請求成功時調用的回調函數。
  • error:請求失敗時調用的回調函數。

代碼實現:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>用戶注冊</title> </head> <body><form autocomplete="off">姓名:<input type="text" id="username"><span id="uSpan"></span><br>密碼:<input type="password" id="password"><br><input type="submit" value="注冊"></form> </body> <script src="js/jquery-3.3.1.min.js"></script> <script>//1.為用戶名綁定失去焦點事件$("#username").blur(function () {let username = $("#username").val();//2.jQuery的通用方式實現AJAX$.ajax({//請求資源路徑url:"userServletxxx",//是否異步async:true,//請求參數data:"username="+username,//請求方式type:"POST",//數據形式dataType:"text",//請求成功后調用的回調函數success:function (data) {//將響應的數據顯示到span標簽$("#uSpan").html(data);},//請求失敗后調用的回調函數error:function () {alert("操作失敗...");}});}); </script> </html>

總結

以上是生活随笔為你收集整理的AJAX详解教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。