jQuery.param() 函数详解

jQuery.param()函数用于将JS数组或对象序列化为URL查询字符串。文章介绍了其语法、参数,以及不同情况下的序列化结果,包括数组、对象、嵌套内容的处理,并对比了traditional参数为true和false的影响,对于理解如何与Java后端交互有帮助。
摘要由CSDN通过智能技术生成

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&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值