如何将form内的表单序列化为json字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将form内的表单序列化为json字符串相关的知识,希望对你有一定的参考价值。

参考技术A 在web开发过程中,经常遇到将form序列化不能格式的字符串提交到后台,下面就介绍怎样将form表单序列化为json字符串。
//序列话
$.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;
;

/添加基本的资料
function addPersonInfo()
//序列化form
var data = $('#personInfo').serializeObject();
$.ajax(
type:"post",
dataType: "json",
url:"http://192.168.0.167:8080/app/user/addPersonInfo.json?userId=3",
data:JSON.stringify(data),
contentType: "application/json;charset=utf-8",
success: function(msg)
var notice = eval(msg);
if(notice.type=="success")
alert(notice.msg);
window.location.href=notice.data.url;
else if(notice.type=="validFail")
$.each( notice.errors, function(index, dataValidMsg)

alert(dataValidMsg.msg );
);
else if(notice.type="fail")
alert(notice.msg);

,
error: function(msg)
var notice = eval(msg);
alert(notice.msg);

);
参考技术B 如果是GET的话
json_encode($_GET);
如果是POST的话
json_encode($_POST);

以上是关于如何将form内的表单序列化为json字符串的主要内容,如果未能解决你的问题,请参考以下文章

将表单数据序列化为 JSON 时如何保留值类型

将表单序列化为没有空值的 json

将表单序列化为JSON

将表单数据序列化为 JSON [重复]

序列化多个form表单内容同时提交

Golang 将 form-urlencoded 序列化为对象