版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
一、serialize()方法
格式:var data = $("#formID").serialize();
功能:将表单内容序列化成一个字符串。
注意:要使用params = decodeURIComponent(data ,true)进行解码,不然中文数据会乱码。
数据示例:Name=小明&Age=22&Sex=男
后台:获取字符串后,可以到后台进行处理数据。
二、serializeArray()方法,有三种数据传递

第一种json数组类型,后台反序列化json数据:

格式:var strdata = $("#formID").serializeArray();
功能:将表单序列化成一个JSON结构的对象。数组类型。
数据示例:(3)[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}]获取数据为 data [0].name
通过JSON.stringify()方法,将json数据转成string类型,供后台接收。
转换类型:var str= JSON.stringify(strdata );//转换成string数据,以便后台接收
数据示例:”[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}]”//数组类型
前台:
var arry = $("#form1").serializeArray(); $.ajax({ url: "/Login/Index", data: { jsondata: JSON.stringify(arry) }, type:"post", success: function () { alert("success"); } }) }
后台:
using Newtonsoft.Json;//引用dll
using Newtonsoft.Json.Linq;
自定义类:
public class People { public People() { }//构造函数用于初始化数据。 public string Name { set; get; } public int Age { get; set; } public string Sex { get; set; } //因为传进来的json是[{name:"Name",value:"小明"},...]这种类型所以新增name,value字段。 public string name { set; get; } public string value { set; get; } }
public ActionResult Index(string jsondata) { JArray jarry = (JArray)JsonConvert.DeserializeObject(jsondata);//json数据转换成数组 Listlist = new List();//实例化对象 for (int i = 0; i