Javaweb - 13 - AJAX

發送請求的幾種方式

1. 瀏覽器的地址框中輸入地址,回車

2. html --> head --> scrip / link

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? img? 自動發送請求,無需手動觸發

3. a 標簽,form 表單標簽

? ? ?需要手動控制提交產生,且往往需要在新的頁面上獲得響應信息

4. 運行 JS 代碼產生請求

? ? ? ? 我們通過事件觸發 JS 代碼運行,發送請求

? ? ? ? 響應后我們可以通過 JS 代碼動態處理是否要跳轉

? ? ? ? 或者要將響應的信息通過 DOM 編程顯示在 dom 樹中

通過第 4 中發送請求的方法,就可以實現如下功能:

當用戶在注冊頁面中,用戶名為 zhangsan 的時候,這個事件會觸發 JS 代碼運行,向后端發送請求,可以將響應的信息通過 DOM 編程顯示在 dom 樹中

什么是 AJAX

AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)

AJAX 不是新的編程語言,而是一種使用現有標準的新方法

AJAX 最大的優點是在不重新加載整個頁面的情況下,可以與服務器交換數據,并更新部分前端顯示頁面的內容

AJAX 不需要任何瀏覽器插件,但需要用戶允許 JavaScript 在瀏覽器上執行

XMLHttpRequest 只是實現 AJAX 的一種方法(原生 JS 的實現方式)


同步交互:發送方發出請求后,必須等待接收方處理并返回,在此期間,發送方會處于“阻塞”狀態,無法繼續執行其他操作,直到收到響應后才會繼續執行。

異步交互:發送方發出請求后,無需等待接收方返回響應,而是繼續執行后續操作。接收方處理完請求后,會通過某種方式,將結果反饋給發送方,雙方操作在時間上可以“不同步”。

如何實現 AJAX 請求

index.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
<script>function getMessage() {// 實例化一個 xmlHttpRequestvar request = new XMLHttpRequest();// 設置 xmlHttpRequest 對象的回調函數// request.readState 1 2 3 4// request.status 響應狀態碼 響應行狀態碼request.onreadystatechange = function (){if (request.readyState == 4 && request.status == 200) {// 接收響應結果,處理結果// 將響應放到指定的位置var inputEle = document.getElementById("message");inputEle.value = request.responseText;}}// 設置發送請求的方式和請求的資源路徑request.open("GET", "/hello?username=zhangsan");// 發送請求request.send();}
</script>
</head>
<body>
<button onclick="getMessage()">按鈕</button>
<input type = "text" id = "message" />
</body>
</html>

helloServlet.java:

@WebServlet("/hello")
public class helloServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 接收參數String username = req.getParameter("username");// 做出響應resp.getWriter().write("hello" + username);}
}

完!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90973.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90973.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90973.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qt常用控件-06

文章目錄qt常用控件-06spinBox/doubleSpinBoxdateTimeEditdialSliderlistWIdgettableWidgettreeWidget結語很高興和大家見面&#xff0c;給生活加點impetus&#xff01;&#xff01;開啟今天的編程之路&#xff01;&#xff01; 今天我們進一步c11中常見的新增表達 作者&#…

小智源碼分析——音頻部分(二)

一、利用創建好的對象來調用音頻服務 上周從上圖的getaudiocode()方法進去感受了一下底層小智的構造如何實現。所以用一個codec來接收我們所構造的音頻對象。下來是用構造好的音頻對象來調用音頻初始化服務Initialize&#xff0c;因為啟動函數Application函數的類中有audio_ser…

菜鳥的C#學習(四)

文章目錄一、格式說明符1.1、數字格式說明符&#xff08;適用于數值類型&#xff1a;int, double, decimal 等&#xff09;1. 標準數字格式2. 自定義數字格式1.2、日期時間格式說明符&#xff08;適用于 DateTime, DateTimeOffset&#xff09;1. 標準日期時間格式2. 自定義日期…

基于黑馬教程——微服務架構解析(二)

本篇文章基于黑馬程序員的微服務課程內容&#xff0c;結合個人學習過程中的理解與思考進行整理。本節將圍繞以下幾個問題展開&#xff1a;什么是網關和配置管理前面那篇文章&#xff0c;我們了解如何把一個單體的項目拆成分布式微服務項目&#xff0c;并且講解一下各個服務之間…

Text2SQL智能問答系統開發(一)

開發一個面向企業的chatBI工作流 已完成 基礎 Text2SQL 功能實現 實現用戶輸入自然語言問題后&#xff0c;系統能夠自動生成 SQL 并執行返回結果。用戶交互優化 支持用戶通過補充信息對查詢進行調整&#xff0c;提升易用性。模糊時間處理機制 對“最近”“近期”等模糊時間關…

Python HTML模塊詳解:從基礎到實戰

一、模塊體系全景圖 Python生態中處理HTML的工具可分為三大層級&#xff1a; 標準庫基礎層&#xff1a;html模塊 html.parser第三方增強層&#xff1a;BeautifulSoup&#xff08;搭配解析器&#xff09;專業級工具層&#xff1a;lxml requests-html 二、標準庫核心模塊詳解…

PyTorch常用Tensor形狀變換函數詳解

PyTorch常用Tensor形狀變換函數詳解 在PyTorch中&#xff0c;對張量&#xff08;Tensor&#xff09;進行形狀變換是深度學習模型構建中不可或缺的一環。無論是為了匹配網絡層的輸入要求&#xff0c;還是為了進行數據預處理和維度調整&#xff0c;都需要靈活運用各種形狀變換函數…

自主智能Agent如何重塑工作流自動化:技術、經濟與未來展望

自主智能Agent的崛起與工作流自動化的范式革命2025年7月&#xff0c;當OpenAI向付費用戶推出具備網頁瀏覽和代碼執行能力的ChatGPT Agent時&#xff0c;工作流自動化領域迎來了一場靜默但徹底的革命。這款不再滿足于簡單問答的智能體&#xff0c;在一個安全的虛擬計算機環境中運…

技術架構、行業應用、工具鏈整合、挑戰應對及未來趨勢五大模塊,引用多個權威來源數據與開源項目實現細節。

以下是一份關于AI技術落地的實戰經驗總結報告&#xff0c;結合代碼示例、可視化圖表與行業案例&#xff0c;內容分為技術架構、行業應用、工具鏈整合、挑戰應對及未來趨勢五大模塊&#xff0c;引用多個權威來源數據與開源項目實現細節。AI技術落地實戰指南&#xff1a;從架構設…

第 9 篇:神經網絡初探——當AI擁有了“大腦”,世界從此不同

《人工智能AI之機器學習基石》系列⑨ 專欄核心理念: 用通俗語言講清楚機器學習的核心原理,強調“洞察 + 技術理解 + 應用連接”,構建一個完整的、富有啟發性的知識體系。

音頻焦點 Android Audio Focus 進階

舊焦點處理 示例調用鏈: requestAudioFocus() → propagateFocusLossFromGain_syncAf() → handleFocusLossFromGain()。 系統事件(如來電)→ 強制焦點變化 → handleFocusLossFromGain()。 函數 propagateFocusLossFromGain_syncAf 焦點持有者發生的焦點丟失通知 主要功能…

MFC UI對話框

文章目錄對話框模態對話框創建銷毀關閉CDialog::OnCancel()EndDialog()CDialog::DestroyWindow()非模態對話框創建銷毀關閉delete this對話框 模態對話框 ??阻塞父窗口??&#xff0c;強制用戶先處理對話框。關閉前父窗口無法響應事件。 創建 推薦&#xff1a;非指針方式…

RabbitMQ--@RabbitListener及@RabbitHandle

兩者區別 在 Spring AMQP 中&#xff0c;RabbitListener 和 RabbitHandler 是處理 RabbitMQ 消息的核心注解&#xff0c;但職責和使用場景完全不同。以下從 定義、區別、場景、示例 逐層解析&#xff1a;一、核心定義1. RabbitListener作用&#xff1a;標記 方法或類 為 Ra…

【基于CKF的IMM】MATLAB例程,CV和CT兩個模型下的IMM,二維,濾波使用CKF(容積卡爾曼濾波),附下載鏈接

本程序實現了基于交互多模型&#xff08;IMM&#xff09;容積卡爾曼濾波&#xff08;CKF&#xff09;的多模型融合定位方法&#xff0c;并與純CV?CKFCV-CKFCV?CKF&#xff08;勻速模型&#xff09;和CT?CKFCT-CKFCT?CKF&#xff08;勻角速度轉彎模型&#xff09;方法對比。…

AI資訊日報 - 2025年07月28日

AI資訊日報 | 2025年07月28日 周一 今日核心要點 精華提煉 技術突破 ? 騰訊混元&#xff1a;開源發布、3D技術 ? 書生Intern&#xff1a;開源發布、多模態 企業動態 ? AI工具集&#xff1a;協同創作、視頻生成 數據概覽分類數量重點關注技術突破2 條開源發布、3D技術企業動態…

大語言模型 LLM 通過 Excel 知識庫 增強日志分析,根因分析能力的技術方案(1):總體介紹

文章大綱 1. 核心目標 2. 系統總體架構 3. Google Cloud 端到端方案(含無 RAG & RAG 雙模式) 3.1 無 RAG:Function-Calling 查表模式 3.2 RAG:托管式向量檢索 4. 開源輕量級方案 5. 數字孿生聯合驗證(實驗性) 6. 知識圖譜增強(Neo4j) 7. 監控與持續優化(CometLLM)…

Deepseek + browser-use 輕松實現瀏覽器自動化

在數字化時代&#xff0c;瀏覽器應用廣泛&#xff0c;瀏覽器自動化可大幅提升效率。Deepseek 是強大的智能語言模型&#xff0c;能精準解析復雜指令&#xff0c;browser - use 是專注瀏覽器操作的工具&#xff0c;提供豐富 API 接口&#xff0c;支持主流瀏覽器的各類自動化操作…

開疆智能ModbusTCP轉Profient網關連接西門子PLC與川崎機器人配置案例

本案例是西門子PLC與川崎機器人通過Profient轉ModbusTCP網關進行通訊轉換的配置案例&#xff0c;西門子作為profinet主站&#xff0c;機器人作為ModbusTCP服務器。配置過程&#xff1a;機器人配置川崎機器人控制器提供了RS232、以太網的通信接口&#xff0c;同時也可通過加裝選…

Docker多主機網絡連接:實現跨主機通信

Docker 是一種流行的容器化平臺&#xff0c;它可以幫助開發人員更方便地構建、發布和管理應用程序。在 Docker 中&#xff0c;容器是獨立運行的應用程序包裝&#xff0c;包含了運行所需的所有文件、庫和環境變量。Docker 提供了多種網絡連接方式&#xff0c;使得容器之間可以進…

OSPF筆記

一、OSPF基礎1、技術背景&#xff08;RIP中存在的問題&#xff09;RIP中存在最大跳數為15的限制&#xff0c;不能適應大規模組網周期性發送全部路由信息&#xff0c;占用大量的帶寬資源路由收斂速度慢以跳數作為度量值存在路由環路可能性每隔30秒更新2、OSPF協議特點沒有跳數限…