91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用ajax怎么實現一個實時驗證功能

發布時間:2021-04-20 15:57:42 來源:億速云 閱讀:156 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關使用ajax怎么實現一個實時驗證功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

什么是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();
}

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
 <display-name>Archetype Created Web Application</display-name>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <servlet>
  <servlet-name>loginServlet</servlet-name>
  <servlet-class>com.lbw.servlet.loginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>loginServlet</servlet-name>
  <url-pattern>/loginServlet</url-pattern>
 </servlet-mapping>
</web-app>

loginServlet.java

package com.lbw.servlet;
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;
import java.io.PrintWriter;
/**
 * 后端使用Servlet處理請求
 */
public class loginServlet extends HttpServlet {
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //設置編碼和響應頭
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/xml;charset=UTF-8");
    response.setHeader("Cache-Control", "no-cache");
    //獲取參數
    String username = request.getParameter("username");
    String msg = "";
    if("lbw".equals(username)){
      msg = "名稱正確";
    }else {
      msg = "名稱錯誤";
    }
    PrintWriter out = response.getWriter();
    out.println(msg);
  }
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
  }
}

開始測試

輸入localhost:8888/login.jsp,彈出窗口

 代表在jsp中引入js成功

在輸入框輸入測試數據

 由Servlet中邏輯決定,返回錯誤信息

 由Servlet中邏輯決定,返回成功信息

由此,初步實現了ajax異步請求,達到了實時驗證的要求

一些小細節

1.在使用maven構建項目,注意Project Structure -> Facets,這里設置web.xml和webapp的路徑,idea會使用到

2.在引入js時,注意使用相對路徑的方式來進行映入,并且用到EL表達式要開啟isELIgnored="false"·`避免沒有解析。

以上就是使用ajax怎么實現一個實時驗證功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乡县| 理塘县| 平阴县| 巴林左旗| 浏阳市| 沁阳市| 婺源县| 湘阴县| 资兴市| 丹东市| 宜宾县| 高淳县| 拉萨市| 屏南县| 玛多县| 文安县| 濮阳市| 百色市| 无极县| 淮南市| 达州市| 泽州县| 芦溪县| 萍乡市| 扎赉特旗| 浦城县| 娱乐| 卓资县| 黎川县| 镇平县| 太原市| 肃宁县| 成安县| 英山县| 栾城县| 台中市| 开封市| 秀山| 揭东县| 乳山市| 山东|