Jquery确实是一个非常好的JavaScript框架,今天利用闲暇时间给大家一个借助Jquery异步实现校验username的唯一性的样例:

代码1——index.jsp文件:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%
  3. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
  4. %>
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  6. <html>
  7. <head>
  8. <title>怎样使用jquery实现异步验证username的唯一性</title>
  9. <script type="text/javascript" src="<%=basePath%>js/jquery-1.8.3.min.js"></script>
  10. <script type="text/javascript">
  11. function checkUserName(){
  12. $.ajax({
  13. url : "<%=basePath%>JqueryAjaxCheckUserNameServlet", //(默认: 当前页地址) 发送请求的地址
  14. type: "post", //(默认: "get") 请求方式 ("post" 或 "get")。 默觉得 "get"。
  15.  
  16. 注意:其他 http请求方法,如 put delete也能够使用。但仅部分浏览器支持。
  17. timeout:10,//设置请求超时时间(毫秒)。此设置将覆盖全局设置。
  18. async:true,//(默认: true) 默认设置下。全部请求均为异步请求。假设须要发送同步请求。请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完毕才干够运行。
  19. contentType:"application/x-www-form-urlencoded",//(默认: "application/x-www-form-urlencoded") 发送信息至server时内容编码类型。默认值适合大多数应用场合。
  20. data: 'userName='+$("#userName").val(),//发送到server的数据。将自己主动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自己主动转换。必须为 Key/Value 格式。假设为数组。jQuery 将自己主动为不同值相应同一个名称。
  21.  
  22. {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'
  23.  
  24. dataType:'json',/*预期server返回的数据类型。假设不指定,jQuery 将自己主动依据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数參数传递,可用值:
  25. *"xml": 返回 XML 文档,可用 jQuery 处理。
  26.  
  27. *"html": 返回纯文本 HTML 信息;包括 script 元素。
  28. *"script": 返回纯文本 JavaScript 代码。不会自己主动缓存结果。
  29.  
  30. *"json": 返回 JSON 数据 。
  31. *"jsonp": JSONP 格式。
  32.  
  33. 使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自己主动替换 ? 为正确的函数名,以运行回调函数。
  34. */
  35. success: function(json, textStatus){//假设调用servlet成功,响应200。
  36.  
  37. 请求成功后回调函数。
  38.  
  39. 这种方法有两个參数:server返回数据,返回状态(能够缺省)。
  40. console.log(textStatus);
  41. var flag = json.flag;
  42. if(flag == 'true'){
  43. $('#showUserName').html("<font size=\"2\" color=\"green\">  username有效!</font>");
  44. }else if(flag == 'false'){
  45. $('#showUserName').html("<font size=\"2\" color=\"red\">  username已被使用!
  46.  
  47. </font>");
  48. }
  49. },
  50. error:function (XMLHttpRequest, textStatus, errorThrown) {//假设调用servlet出现故障,响应非200(这里响应405)。通常情况下textStatus和errorThown仅仅有当中一个有值 。
  51.  
  52. (默认: 自己主动推断 (xml html)) 请求失败时将调用此方法。这种方法有三个參数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
  53.  
  54. console.log(textStatus);
  55. $('#showUserName').html("<font size=\"2\" color=\"red\">  请求发送失败。</font>");
  56. }
  57. });
  58. }
  59. </script>
  60. </head>
  61.  
  62. <body>
  63. <center style="margin-top: 10%"><font style="color: red;font-size: 18pt;font-weight: bold;">怎样使用jquery实现异步验证username的唯一性</font><br><br>
  64. username:<input type="text" id="userName" name="userName" size="27" onblur="checkUserName();">
  65. <font size="2" id="showUserName">  *username必填。具有唯一性。</font>
  66. </center>
  67. </body>
  68. </html>

代码2——JqueryAjaxCheckUserNameServlet.java文件:

  1. package com.ghj.packagofserlet;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10.  
  11. public class JqueryAjaxCheckUserNameServlet extends HttpServlet {
  12.  
  13. private static final long serialVersionUID = 6387744976765210524L;
  14.  
  15. public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  16. doPost(request,response);
  17. }
  18.  
  19. public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  20. try{
  21. response.setCharacterEncoding("UTF-8");
  22. request.setCharacterEncoding("UTF-8");
  23. System.out.println(1/0);//有益出现异常,以检查index.jsp中error方法是否可用
  24. PrintWriter out = response.getWriter();
  25. String userName=request.getParameter("userName");//获取“username”
  26. if("admin".equals(userName)) {
  27. out.write("{\"flag\":\"false\"}");//“false”表示username不可用。
  28.  
  29. } else {
  30. out.write("{\"flag\":\"true\"}");//“true”表示username可用。
  31. }
  32. out.flush();
  33. out.close();
  34. }catch (Exception e) {
  35. e.printStackTrace();
  36. response.setStatus(405);//此时将运行index.jsp中error方法。
  37. }
  38. }
  39. }

代码3——web.xml文件:

  1. <?xml version="1.0" encoding="UTF-8"?
  2.  
  3. >
  4. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns="http://java.sun.com/xml/ns/javaee"
  6. xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  7. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  8. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  9.  
  10. <servlet>
  11. <servlet-name>JqueryAjaxCheckUserNameServlet</servlet-name>
  12. <servlet-class>com.ghj.packagofserlet.JqueryAjaxCheckUserNameServlet</servlet-class>
  13. </servlet>
  14.  
  15. <servlet-mapping>
  16. <servlet-name>JqueryAjaxCheckUserNameServlet</servlet-name>
  17. <url-pattern>/JqueryAjaxCheckUserNameServlet</url-pattern>
  18. </servlet-mapping>
  19.  
  20. <welcome-file-list>
  21. <welcome-file>index.jsp</welcome-file>
  22. </welcome-file-list>
  23. </web-app>

说明:上面的样例用到了jquery-1.8.3.min.js文件,该文件可在以下的下载资源中找到。

0分下载资源

使用了loadmask的Jquery表单异步提交

Jquery—Jquery异步功能实例的更多相关文章

  1. 基于jQuery带备忘录功能的日期选择器

    今天给大家分享一款基于jQuery带备忘录功能的日期选择器.这款日期控制带有备记忘录功能.有备忘录的日期有一个圆圈,单击圆圈显示备忘录.该实例适用浏览器:360.FireFox.Chrome.Safa ...

  2. jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明

    jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明 jquery.lazyload.js是一个用JavaScript编写的jQuery插件.它可以延迟加载长页面中的图片 ...

  3. 超炫jQuery测试答题功能

    推荐一款超炫jQuery测试答题功能插件 实例代码 <body> <div class="container" id="main"> & ...

  4. 很不错的jQuery学习资料和实例

    这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...

  5. Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

  6. jQuery的基础语法实例

    jQuery 基础语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(sele ...

  7. 自己使用Jquery封装各种功能分享

    自己使用Jquery封装各种功能分享: 左右滚动图片 瀑布流 流动显示列表 广告切换 头像切换And广告切换 获取搜索引擎的来源关键字 上面列表中展示的功能都是使用jquery进行封装实现的,希望大家 ...

  8. jquery实现菜单功能(单击展开或者关闭)-一般应用于后台

    <!doctype html> <html> <head> <meta charset="gb2312"> <title> ...

  9. Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果

    Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果 在一个项目中,用到了时间轴展示产品的开发进度,为了更好用户体验,想到了Facebook的timeline效果, 搜了一 ...

随机推荐

  1. WPF使用DEV之TreeListControl---加入复选框

    1.绑定的Class中加入一个Bool类型的属性 2.   该属性无需初始赋值,你执行就可以看到如图: Bool类型数据自己主动变成了复选框 watermark/2/text/aHR0cDovL2Js ...

  2. acm2024

    /**  * C语言合法标识符  */ import java.util.*; public class acm2024 { public static void main(String[] args ...

  3. UDP和TCP的比較

    当client须要请求数据库server上的某些数据时,它至少须要三个数据报来建立TCP连接.三个数据报礼发送和确认少量数据,三个用来关闭连接. 然而,假设使用UDP的话,只须要发出两个数据报就能达到 ...

  4. RESTful到底是什么玩意??

      0. REST不是"rest"这个单词,而是几个单词缩写.: 1. REST描述的是在网络中client和server的一种交互形式:REST本身不实用,实用的是如何设计 RE ...

  5. java正则表达式简介

    Java的正则表达式讲解:(为了能看清,本文正则表达式用中文的句号代替英文句点) 1 英文句点符号:匹配单个任意字符. eg: 表达式”t.o  可以匹配:tno,t#o,teo等等.不可以匹配:tn ...

  6. 从官方的BZR源安装avant-window-navigator

    资料来自: http://blog.163.com/azhai@126/blog/static/111056312008315842433/http://www.ibentu.org/2007/09/ ...

  7. Bootstrap系列 -- 15. 下拉选择框select【转发】

    <form role="form"> <div class="form-group"> <select class="f ...

  8. 【Oracle】事务处理

    名词解释 DML:Data Manipulation Language (数据库操纵语言) 例如:DELETE.INSERT.UPDATE.SELECT DDL:Data Definition Lan ...

  9. Java 获取盘符及分类

    import java.io.File; import javax.swing.filechooser.FileSystemView; public class ByteTest { public s ...

  10. MYSQL查询一周内的数据(最近7天的)

    select * from wap_content where week(created_at) = week(now) 如果你要严格要求是某一年的,那可以这样 查询一天: select * from ...