美文网首页Ajax
Form 表单序列化

Form 表单序列化

作者: wanggs | 来源:发表于2017-08-09 19:40 被阅读0次

    1、serialize()方法
    描述:序列化表单内容为字符串,用于Ajax请求。
    格式:var data = $("form").serialize();

    2.serializeArray()方法
    描述:序列化表单元素(类似'.serialize()'方法)返回JSON数据结构数据。
    注意,此方法返回的是JSON对象而非JSON字符串。需要使用插件或者<a>第三方库</a>进行字符串化操作。
    格式:var jsonData = $("form").serializeArray();
    在使用ajax提交表单数据时,以上两种方法都可以将data参数设置为$("form").serialize()或$("form").serializeArray()。

    把对象直接序列化为json格式

    var json_data = $('#myform').serializeJSON(); `
    

    CDN连接



    时间线



    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
        <link href="http://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
        <link href="http://cdn.bootcss.com/animate.css/3.5.2/animate.min.css" rel="stylesheet">
    </head>
    <body>
        <div class="container">
            <form id="loginForm" class="animated bounce">
                <div class="form-group">
                    <label>电子邮件</label>
                    <input type="text" class="form-control" name="mail" id="username">
                </div>
                <div class="form-group">
                    <label>密码</label>
                    <input type="password" class="form-control" name="password" id="password">
                </div>
                <div class="form-group">
                    <button class="btn btn-primary" type="button" id="loginBtn">保存 </button>
                </div>
            </form>
        </div>
        <script src="/static/js/jquery-1.11.3.min.js"></script>
        <script src="/static/js/jquery.validate.min.js"></script>
        <script>
            $(function(){
    
                $("#loginBtn").click(function(){
                    $("#loginForm").submit();
                });
    
                $("#loginForm").validate({
                    errorElement:"span",
                    errorClass:"text-danger",
                    rules:{
                        mail:{
                            required:true,
                            email:true,
                            remote:"/checkemail"
                        },
                        password:{
                            required:true
                        }
                    },
                    messages:{
                        mail:{
                            required:"请输入账号",
                            email:"邮件格式错误",
                            remote:"电子邮件已被占用"
                        },
                        password:{
                            required:"请输入密码"
                        }
                    },
                    submitHandler:function(){
                        $.ajax({
                            url : "/login",
                            type : "post",
                            data : $("#loginForm").serialize(),
                            beforeSend:function(){
                                $("#loginBtn").append($("<i class='fa fa-spinner fa-spin'></i>")).attr("disabled","disabled");
                            },
                            complete:function(){
                                $("#loginBtn").html("登录").removeAttr("disabled");
                            },
                            success : function(data) {
                                if(data.state == "error") {
                                    alert(data.message);
                                } else {
                                    window.location.href = "/jq/demo1.jsp";
                                }
                            },
                            error : function() {
                                alert("服务器错误");
                            }
                        });
                    }
                });
    
    
    
    
               /* $("#loginBtn").click(function(){
                    var username = $("#username").val();
                    var password = $("#password").val();
    
                    //alert($("#loginForm").serialize());
    
                    $.post("/login",$("#loginForm").serialize()).done(function(data){
                        if(data.state == "error") {
                            alert(data.message);
                        } else {
                            window.location.href = "/jq/demo1.jsp";
                        }
                    }).error(function(){
                        alert("服务器异常");
                    });
                });*/
            });
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:Form 表单序列化

        本文链接:https://www.haomeiwen.com/subject/meiqrxtx.html