Home > Web Front-end > JS Tutorial > body text

How to implement real-time verification function in ajax

php中世界最好的语言
Release: 2018-03-30 15:38:03
Original
1218 people have browsed it

This time I will show you how to implement the real-time verification function with ajax. What are the precautions for ajax to implement the real-time verification function? Here are practical cases, let’s take a look.

What is ajax

Ajax means "Asynchronous Javascript And XML" (asynchronous JavaScript and XML), which means A web development technology for creating interactive web applications.

Ajax = Asynchronous JavaScript and XML (a subset of Standard Universal Markup Language).

Ajax is a technology for creating fast, dynamic web pages.

Ajax is a technology that can update parts of a web page without reloading the entire web page.

By exchanging a small amount of data with the server in the background, Ajax can enable asynchronous updates of web pages. This means that parts of a web page can be updated without reloading the entire page.

Traditional web pages (not using Ajax) must reload the entire web page if the content needs to be updated.

This is Baidu’s definition of it, which is detailed enough.
One thing worth adding is the understanding of asynchronous. Asynchronous is relative to synchronization. Here they refer to the interaction mode between the server and the browser.

Synchronization, after each request is issued, the user operation is blocked and must require a response to be returned before continuing the operation. Asynchronous means that after sending a request, the user does not need to wait for a response. Everything is implemented by ajax, and the data can be partially updated without refreshing the web page. Improved communication efficiency between both ends.

Let’s make a small demo

Make a demo of the verification form without refreshing, enter the user name in the dialog box, and perform verification in the background. Use ajax technology.

Project structure, built using maven

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
  <title>login</title>
</head>
<body>
Copy after login

Welcome to log in:

    用户名:<input type="text" name="username" id="username" onchange="CallServer()"/>
    <!-- 显示提示信息 -->
    <p id="msg"></p>
    <!-- 在jsp页面中引入js,绝对路径的方式 -->
    <script src="${pageContext.request.contextPath}/js/main.js"></script>
</body>
</html>
Copy after login

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();
}
Copy after login

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>
Copy after login

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);
  }
}
Copy after login

Start testing

Enter localhost:8888/login.jsp, pop-up window

Represents the successful introduction of js into jsp

Enter the test data in the input box

It is determined by the logic in the Servlet and returns error message

Determined by the logic in the Servlet, success information is returned

Thus, ajax asynchronous requests are initially implemented and the requirements for real-time verification are met

Some small details

1. When using maven to build the project, pay attention to Project Structure -> Facets, set the path of web.xml and webapp here, idea will use

2. When introducing js, pay attention to using relative paths for mapping, and when using ELexpression, turn on isELIgnored="false"·` to avoid no parsing.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Detailed graphic explanation of ajax to implement dynamic pie charts and column charts

Judge ID card and How to write the regular format of bank card number

The above is the detailed content of How to implement real-time verification function in ajax. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template