百度可知:
表单序列化的作用是:将表单内容序列化成一个字符串,方便Ajax传递表单值给服务器。
随着Ajax的出现,表单序列化成为一种常见需求
序列化应满足以下几点要求:
1、对表单字段和值进行url编码,使用 & 符号分割
2、不发送表单的禁用字段
3、只发送选则的复选框和单选按钮
4、不发送type为“reset”和“button”的按钮
function serialize(data) {
let list = [];
Object.keys(data).forEach(ele => {
list.push(`${ele}=${data[ele]}`)
})
return list.join('&');
};
传参验证:
var data = {
name: 'name0',
isb: true,
list1: [1, 2],
list2: [
{
name: 'name1',
value: 'value1'
},
{
name: 'name2',
value: 'value2'
}],
data1: {
name: 'name3',
list3: [1, 2],
list4: [{
name: 'name1',
value: 'value1'
}],
data2: {
name: 'name4'
}
}
};
验证结果:
name=name0&isb=true&list1=1,2&list2=[object Object],[object Object]&data1=[object Object]