JavaSript 将表单中的数据转为严谨的json格式
在java 后台中, 往往会定义前端页面传递严谨的json格式, 最常有的需求就是将表单中的数据转为严谨的json格式
1. 自定义工具方法
$.fn.serializeJson=function(){
var serializeObj={};
var array=this.serializeArray();
var str=this.serialize();
$(array).each(function(){
if(serializeObj[this.name]){
if($.isArray(serializeObj[this.name])){
serializeObj[this.name].push(this.value);
}else{
serializeObj[this.name]=[serializeObj[this.name],this.value];
}
}else{
serializeObj[this.name]=this.value;
}
});
return serializeObj;
};
2. 测试
//提交用户信息
$("#user_form_btn").click(function(){
var data = JSON.stringify($("#user_form").serializeJson());
$.ajax({
type: "post",
data: data,
url: "/hospital/user/saveUser",
cache:false,
dataType:"json",
headers : {"Content-Type" : "application/json;charset=utf-8"},
success: function (data) {
if (data.code == 200){alert("提交成功!");}
if (data.code == 500){alert(JSON.stringify(data.t));}
//清空输入框
$("#username").val("");
$("#mail").val("");
$("#telephone").val("");
$("#requirement").val("");
}
})
})
//提交名字
$("#home1_subname").click(function(){
$.ajax({
type: "post",
data: $("#home1_form").serialize(),
url: "/hospital/phone/saveTelephone",
cache:false,
dataType:"application/json",
success: function (data) {
if (data.code == 200){alert(JSON.stringify("提交成功! 我们会尽快联系您!"));}
if (data.code == 500){alert(JSON.stringify(data.t));}
$("#input_phone").val("");//清空输入框
}
})
});
});
3. 结果