ajax+json校验用户名是否存在

简介: ajax+json校验用户名是否存在

需求:实现用户名校验,如下图所示,当用户名在数据库中存在就提示注册过了,请换一个,没有的话,提示用户名可用

register.html代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    //给username绑定blur事件
    $(function () {
        $("#username").blur(function () {
            //获得输入的值
            var username = $(this).val();
            //异步获取服务器中的值
            //这中间传的数据是json数据{"userExsit":true}
            //不要忘记在客户端使用时,要想当做json数据格式使用
            $.post("findUserservlet",{username:username},function (data) {
                if (data.userExsit){
                    //显示注册过了,显示红色
                    $("#S_username").css("color","red");
                    $("#S_username").html("注册过了,请换一个");
                }
                else{
                    //显示绿色,
                    $("#S_username").css("color","green");
                    $("#S_username").html("用户名可用");
                }
            },"json")
        })
    })
</script>
<body>
<form>
    <input type="text" id="username" name="username" placeholder="请输入用户名">
    <span id="S_username"></span>
    <br>
    <input type="text" id="password" name="password" placeholder="请输入密码"> <br>
    <input type="submit" value="注册">
</form>
</body>
</html>

findUserServlet.java代码如下:

import com.fasterxml.jackson.databind.ObjectMapper;
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.util.HashMap;
import java.util.Map;
@WebServlet("/findUserservlet")
public class findUserservlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置编码
        resp.setContentType("text/html;charset=utf-8");
        //获得参数
        String username = req.getParameter("username");
        //创建map封装对象
        Map<String,Object> map=new HashMap<String,Object>();
        if(username.equals("tom")){
            map.put("userExsit",true);
        }
        else {
            map.put("userExsit",false);
        }
        //将map转换成json对象,传给客户端
        ObjectMapper mapper = new ObjectMapper();
        mapper.writeValue(resp.getWriter(),map);
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req,resp);
    }
}

该案例可以直接访问数据库来获取数据,主要是异步ajax来获取json对象,以及将java对象转成json对象

相关文章
|
JSON 前端开发 JavaScript
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
Filter过滤器、Listener监听器、AJAX、 同步、异步优点和使用场景、Axios异步框架、JSON、js和JSON转换、案例,Axios + JSON 品牌列表查询和添加
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
|
XML JSON 前端开发
JSON与AJAX:网页交互的利器
JSON与AJAX:网页交互的利器
100 0
|
JSON JavaScript 前端开发
技术心得:利用JsonSchema校验json数据内容的合规性
技术心得:利用JsonSchema校验json数据内容的合规性
760 0
|
XML JSON 前端开发
Ajax – JSON入门指南
Ajax – JSON入门指南
140 1
|
XML JSON 前端开发
第十一篇JavaScript JSON与AJAX
第十一篇JavaScript JSON与AJAX
84 0
|
前端开发 Java
杨校老师课堂之使用Ajax校验用户名是否可用
杨校老师课堂之使用Ajax校验用户名是否可用
80 0
|
前端开发 Java 数据安全/隐私保护
jQuery-ajax-用户名异步请求
jQuery-ajax-用户名异步请求
65 0
|
JSON 前端开发 JavaScript
jQuery ajax读取本地json文件 三级联动下拉框
jQuery ajax读取本地json文件 三级联动下拉框
128 0
|
XML JSON 前端开发
|
XML JSON 前端开发