什么是ajax
Ajax 即“Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種創建交互式網頁應用的網頁開發技術。
Ajax = 異步 JavaScript 和 XML(標準通用標記語言的子集)。
Ajax 是一種用于創建快速動態網頁的技術。
Ajax 是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。
通過在后臺與服務器進行少量數據交換,Ajax 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 Ajax)如果需要更新內容,必須重載整個網頁頁面。
這是百度對它的定義,足夠詳細。
值得補充的一點是對異步的理解,異步是相對于同步來說的,在這里他們指的是服務器和瀏覽器的交互模式。
同步,每次請求發出之后,用戶操作即被阻塞,必須要求返回響應后繼續操作。而異步指的是發出請求后,用戶無需等待響應,一切由ajax來實現,無需進行刷新網頁就可以局部更新數據。提高了倆端的溝通效率。
來個小demo
做一個無刷新驗證表單的demo,在對話框中輸入用戶名,在后臺進行驗證,使用ajax技術。
項目結構,使用maven構建
login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %><html><head> <title>login</title></head><body>
歡迎登陸:
用戶名:<input type="text" name="username" id="username" onchange="CallServer()"/> <!-- 顯示提示信息 --> <div id="msg"></div> <!-- 在jsp頁面中引入js,絕對路徑的方式 --> <script src="${pageContext.request.contextPath}/js/main.js"></script></body></html>
main.js
alert("use ajax!")//創建XMLHttpRequest對象,在不同瀏覽器function createXMLHTTP() { if(window.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行代碼 xmlhttp = new XMLHttpRequest(); }else { // IE6, IE5 瀏覽器執行代碼 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp;}function CallServer() { var username = document.getElementById("username").value; // 判斷為空 if ((username == null) || (username == "")) return; var xmlhttp = createXMLHTTP(); // 構建請求url var url = "/loginServlet"+"?"+"username="+username; //狀態碼改變調用事件 xmlhttp.onreadystatechange = function () { //正常返回,替換msg內容 if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ document.getElementById("msg").innerHTML = xmlhttp.responseText; } } //異步提交請求 xmlhttp.open("GET",url,true); //發送請求 xmlhttp.send();}
新聞熱點
疑難解答
圖片精選