当前位置: 首页 > news >正文

JQuery中使用Ajax实现诸如登录名检测等异步请求Demo

上一篇博客介绍了注册登录时一次性图形验证码的工具类的编写,这篇随笔同样是我在写用jquery中ajax实现登录信息检测的异步请求功能的笔记,在各个网站进行信息用户注册时,需要在不刷新页面的情况下对注册信息进行检测并实时返回信息,比如这种情况:

对于不需要访问数据库的页面验证比较简单,一旦需要访问数据库,就比较麻烦一些,好在Jquery可以很方便的使用ajax,我写了一个简单到不能再简单的例子,效果是这样的:

   

下面介绍步骤及代码:

1:jsp页面(重点是jquery函数)如下:

1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 3 
 4 <html>
 5 <head>
 6 <base href="<%=basePath%>">
 7 <script type="text/javascript" src='<c:url value='/jquery-1.5.1.js'/>'></script>
 8 <script type="text/javascript">
 9     $(function() {
10         $("#username").blur(function() {
11             var uname = $("#username").val();
12             $.ajax({
13                 //要请求的服务器url
14                 url : "/jqueryTest/JQueryServlet",
15                 //表示请求参数的对象,参数:val=uname
16                 data : {
17                     val : uname
18                 },
19                 //是否为异步请求
20                 async : true,
21                 //是否缓存结果
22                 cache : false,
23                 //请求方式
24                 type : "POST",
25                 //服务器返回的是什么类型
26                 dataType : "json",
27                 //函数会在服务器执行成功时被调用,参数result就是服务器返回的值
28                 success : function(result) {
29                     /* if (result) {
30                         $("#nameLabel").text("输入正确");
31                     } else {
32                         $("#nameLabel").text("用户名不存在");
33                     } */
34                 $("#nameLabel").text(uname+result.info);
35                 }
36             });
37         });
38     });
39 </script>
40 <style type="text/css">
41 </style>
42 </head>
43 
44 <body>
45     用户名 <input type="text" name="name" id="username" />
47     <label id="nameLabel"></label><br>
48   密 码:<input type="password" name="pwd" /><br> 51 </body> 52 </html>

新建一个servlet用于处理请求:

 1 package com.wang.test;
 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 JQueryServlet extends HttpServlet {
12 
13     
14     public void doPost(HttpServletRequest request, HttpServletResponse response)
15             throws ServletException, IOException {
16 
17         response.setContentType("text/html;charset=utf-8");
18         response.setCharacterEncoding("utf-8");
19         PrintWriter out = response.getWriter();
20         
21         String value=request.getParameter("val");
22         System.out.println("value:"+value);
23         /*if(value.equals("wang")){
24             out.print(true);
25         }else{
26             out.print(false);
27         }*/
28         if(value.equals("wang")){
29             String str="{\"name\":\""+value+"\",\"info\":\"合法\"}";
30             out.print(str);
31         }else{
32             String str="{\"name\":\""+value+"\",\"info\":\"不合法\"}";
33             out.print(str);
34         }
35     }
36 
37 }

这里为了简便就没有写访问数据库的诸多代码,如果用书输入"wang",就返回"wang合法",如果输入"somelse",就显示"someelse不合法".

转载于:https://www.cnblogs.com/fingerboy/p/5153744.html

相关文章:

  • java String、Data、Calendar时间转化
  • js 打印
  • Java NIO读书笔记
  • angular
  • Oracle使用总结
  • 通过keepalived实现 MySQL VIP 自动切换
  • Swift - 37 - 值类型和引用类型的简单理解
  • 算法导论 第六章 2 优先队列(python)
  • gdb跟踪应用程序原理浅析
  • ORACLE 11G内存管理方式
  • 正则表达式总结
  • Cocos2d-js使用ETC1格式的图片
  • 2015年年终总结
  • Java实现多线程邮件发送
  • [算法]需要排序的最短子数组长度
  • .pyc 想到的一些问题
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • Java的Interrupt与线程中断
  • Java知识点总结(JavaIO-打印流)
  • jquery ajax学习笔记
  • Linux gpio口使用方法
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • windows下使用nginx调试简介
  • 成为一名优秀的Developer的书单
  • 诡异!React stopPropagation失灵
  • 每天10道Java面试题,跟我走,offer有!
  • 面试遇到的一些题
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一道闭包题引发的思考
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • No resource identifier found for attribute,RxJava之zip操作符
  • Hibernate主键生成策略及选择
  • Mac 上flink的安装与启动
  • 如何在招聘中考核.NET架构师
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (C语言)字符分类函数
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (接口封装)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • ./和../以及/和~之间的区别
  • .form文件_SSM框架文件上传篇
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET NPOI导出Excel详解
  • .Net 高效开发之不可错过的实用工具
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型