jQuery.param()函数用于将一个JS数组或纯粹的对象序列化为字符串值,以便用于URL查询字符串或AJAX请求。
如果传入的不是数组或"纯粹的对象",则返回空字符串("");如果传入的是null、undefined等无法访问属性的值,则直接报错。
所谓"纯粹的对象",就是通过{}或new Object()自行创建的对象。JS内置的Boolean、Number、String、Date、RegExp、Function、Window等类型的对象都不算是"纯粹的对象"。
返回的字符串已经过URL编码处理(采用的字符集为UTF-8)。
该函数属于全局的jQuery对象。
语法
jQuery 1.2 新增该静态函数。
jQuery.param( obj [, traditional ] )
参数
参数 | 描述 |
---|---|
obj | String类型需要被序列化的JS对象。 |
traditional | Boolean类型指示是否执行一个传统的"浅层"序列化 |
请注意参数traditional的值,如果为false,它将递归处理包含嵌套内容的深层对象;如果为true,则对属性值或元素直接浅层处理,不进行递归处理。
从jQuery 1.8开始,jQuery.param()默认值为false。为了最好的跨版本兼容性,请在调用该函数时,明确指定第二个参数,而不要使用默认值。
如果参数obj是一个数组,那么它的每个元素都必须是一个包含name属性和value属性的对象(value属性可以没有,默认其值为undefined)。
// 每个元素必须是包含name和value属性的对象(也可以有其他属性,但不会被处理)
// jQuery会将name属性值用作参数名,value属性值用做参数值。
[
{ name: "name", value: "CodePlayer" },
{ name: "age", value: 18 },
{ name: "job", value: "Developer&