form的表单序列化

百度可知:

表单序列化的作用是:将表单内容序列化成一个字符串,方便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]

你可能感兴趣的:(ajax,服务器,javascript)