【SpringBoot学习】04、注册(二):利用Ajax异步提示用户名已存在等错误信息

效果图

在这里插入图片描述
在这里插入图片描述
是个小小示例就不写数据访问层和业务层了

1 视图层

//异步注册
    @RequestMapping(path = "/registAjax",method = RequestMethod.POST)
    @ResponseBody
    public String testRegist(String username){
        System.out.println(username);//代表处理数据的逻辑
        if(username.equals("小明")){
            return CommunityUtil.getJSONString(0,"该名字已被占用");
        }else{
            return CommunityUtil.getJSONString(1, "该名称尚未被使用");
        }

    }

工具类作用:将信息转成JSON字符串

//将数据包装成JSON对象
    public static String getJSONString(int code, String msg, Map<String,Object> map){
        JSONObject json = new JSONObject();
        json.put("code", code);
        json.put("msg", msg);
        if(map!=null){
            for(String key:map.keySet()){
                json.put("key", map.get(key));
            }
        }
        return json.toJSONString();
    }

    public static String getJSONString(int code, String msg){
        return getJSONString(code, msg, null);
    }

    public static String getJSONString(int code){
        return getJSONString(code, null, null);
    }

2 html网页

路径:static/html/demo-regist.html
直接用http://localhost:8080/community/html/demo-regist.html就可以访问,community是项目名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
    <form action="/community/demo/registAjax" method="post">

        用户名:<input name="username" id="username" type="text" /><span  id="msg" style="color: green;"></span><br>

        密码:<input name="password" type="password"> <br>
        <input type="submit" value="注册">

    </form>
	<!--导入jquery文件 -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
    <script>
    	// 页面加载完成后再执行
        $(function (){

			// id为username的元素绑定blur方法,blur方法 失去焦点时执行
            $("#username").on("blur",function(){
            	//post方法格式:三个参数
            	//1.将数据返回到哪里的地址2.要传入后台的数据3.处理后台返回的数据(data)
                $.post(
                    "/community/demo/registAjax",
                    {"username":$("#username").val()},
                    function(data){
                    //数据转成JSON字符串,不然取不到
                        data = $.parseJSON(data);
                        if(data.code){
                            //设置msg的文本值
                            $("#msg").text(data.msg)
                            //设置css属性
                            $("#msg").css("color","green")
                        }else {
                            $("#msg").text(data.msg)

                            $("#msg").css("color", "red")
                        }
                    }
                )
            })
        })
    </script>
</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值