基于springboot的ajax表单无刷新注册功能

首先贴出一个表单数据转json神器
jsonHandler.js工具包

$.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a,function() {
        if(o[this.name]) {
            if (!o[this.name].push) {
                o[this.name] = [ o[this.name] ];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
}

紧接上一节,编写registQQ.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>QQ注册</title>
<script type="text/javascript" src="/static/js/jquery-3.2.1.js"></script>
<script type="text/javascript" src="/static/js/jsonHandler.js"></script>
</head>
<body>
<center>
    <form action="javascript:void(0)" id="form1">
    <table border="1px" width="300px">
        <tr>
            <td>昵称:</td>
            <td><input type="text" name="nick" placeholder="请输入4-10位字符" /></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="pwd" placeholder="请输入6-16位字符" /></td>
        </tr>
        <tr>
            <td>手机号:</td>
            <td><input type="text" name="phone" placeholder="请输入正确手机号格式" /></td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td><input type="email" name="emali" placeholder="请输入正确的邮箱格式" /></td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td><input type="text" name="age" placeholder="请输入一个正整数" /></td>
        </tr>
        <tr>
            <td><input type="submit" value="注册" id="reg"/></td>
            <td><input type="reset" value="重置" /></td>
        </tr>
    </table>
    </form> 
    </center>

    <script type="text/javascript">
        /* 在注册按钮上添加一个单击事件 */
        $(function(){
            $("#reg").click(function(){
                //  json对象
                var json = $("#form1").serializeObject();
                var str = JSON.stringify(json);
                //  alert(JSON.stringify(json));//将json对象转成json字符串
                $.ajax({
                    url:"/registQQ.do",
                    type:"post",
                    dataType:"json",
                    data:json,
                    success:function() {
                        alert("成功");
                    }
                });
            });
        });
    </script>   
</body>
</html>

注意点:

a.JSP页面导入jquery包和表单数据转json包(用的原因:因此次功能采用ajax,而要一次性把表单里的数据传到后台,data:必须要传一个对象或一个字符串,而不是单一参数。jsonHandler工具就是可以把表单的数据转换为一个json对象,直接传到后台)
这里写图片描述
b.采用ajax,表单必须是禁用状态,这里采用js禁用表单
这里写图片描述
c.ajax核心代码,(“#reg”)为注册按钮id, (“#reg”)为注册按钮id, (“#form1”)为form表单id
这里写图片描述
d.因为前台传过来的是一个对象,后台建一个实体类,属性名对应表单name,来接收
这里写图片描述

至此,测试,访问http://localhost:8081/pages/front/registQQ.jsp,在页面输入数据后点击注册
这里写图片描述
查看后台console
这里写图片描述
输出正确,测试成功!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值