var myObject=[{"name":"name","value":"leo"},{"name":"age","value":19}]; myObject.push({"name":"sex","value":"male"}); var result = $.param(myObject); //结果:name=leo&age=19&sex=male.
$.param是将对象参数化,使用特别灵活,直接上代码吧: 直接传递一个obj,直接转化成key=value然后用&连接起来了 $.param({name:'bill',age:18}); 结果:name=bill&age=18 这里的{X:Y,A:B}会变成X=Y&A=B的格式 或者name value键值对组成的数组,这个好说,name=value然后用&拼起来 $.param([ {name:'name',value:'bill'}, {name:'age',value:18} ]); 结果:name=bill&age=18 这里的name:'name'两个name是不同的,name value是固定格式 这里的{name:XXX,value:YYY} 会变成XXX=YYY的格式,比起上面的写法,显得更啰嗦 当name出现相同的时候 $.param([ {name:'name',value:'bill'}, {name:'name',value:'tom'} ]); 结果:name=bill&name=tom 这样的话,有些后端语言是取不到两个name的 但如果这样呢? $.param([ { name:'name', value:['bill','tom'] } ]); 结果:name=tom,bill 居然用逗号把value接起来了,好吧,后端分割开也行 用传递一个obj的方法呢? $.param({ name:['bill','tom'], age:[18,19], sex:["male","female"] }); 结果:name[]=bill&name[]=tom&age[]=18&age[]=19&sex[]=male&sex[]=female name,age,sex被自动加上中括号了, 对于php来说,$_REQUEST['name'],$_REQUEST['age'],$_REQUEST['sex']都是array了 对应好下角标,3个person的信息就传递过来了 换成第二种固定格式: $.param([ {name:'name',value:['bill','tom']}, {name:"age",value:[18,19]}, {name:"sex",value:["male","female"]} ]) 结果:name=bill,tom&age=18,19&sex=male,female 至于你要哪种方案,自己选吧。
不明白你说什么。明明是3个{},...........
87,994
社区成员
224,697
社区内容
加载中
试试用AI创作助手写篇文章吧