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(); `
时间线
<%@ 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>