您好,欢迎访问一九零五行业门户网

ajax简单实时验证功能实现方法

ajax 即“asynchronous javascript and xml”(异步 javascript 和 xml),是指一种创建交互式网页应用的网页开发技术。本文主要介绍了ajax实现简单实时验证功能,需要的朋友可以参考下,希望能帮助到大家。
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()"/>     <!-- 显示提示信息 -->     <p id="msg"></p>     <!-- 在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·`避免没有解析。    
相关推荐:
微信小程序实现简单input正则表达式验证功能分享
angularjs实现的获取焦点及失去焦点时的表单验证功能详
实例详解jquery完成表单验证功能
以上就是ajax简单实时验证功能实现方法的详细内容。
其它类似信息

推荐信息