標籤:value [] 傳遞 query code amp php 不同 語言
在jquery中字串序列化方法包括有param() 、serialize() 、serializeArray(),在這裡對其常用做法進行總結。
- $.param()方法
這是serialize()方法的核心,用來對一個數組或對象按照key/value進行序列化。
常用方法:
1 直接傳遞一個obj,直接轉化成key=value然後用&串連起來了 2 $.param({name:‘bill‘,age:18}); 3 結果:name=bill&age=18 4 這裡的{X:Y,A:B}會變成X=Y&A=B的格式 5 6 或者name value索引值對組成的數組,這個好說,name=value然後用&拼起來 7 $.param([ 8 {name:‘name‘,value:‘bill‘}, 9 {name:‘age‘,value:18}10 ]);11 結果:name=bill&age=1812 這裡的name:‘name‘兩個name是不同的,name value是固定格式13 這裡的{name:XXX,value:YYY} 會變成XXX=YYY的格式,比起上面的寫法,顯得更囉嗦14 15 當name出現相同的時候16 $.param([17 {name:‘name‘,value:‘bill‘},18 {name:‘name‘,value:‘tom‘}19 ]); 20 結果:name=bill&name=tom21 這樣的話,有些後端語言是取不到兩個name的22 23 但如果這樣呢?24 $.param([25 {26 name:‘name‘,27 value:[‘bill‘,‘tom‘]28 }29 ]); 30 結果:name=tom,bill31 居然用逗號把value接起來了,好吧,後端分割開也行32 33 34 用傳遞一個obj的方法呢?35 $.param({36 name:[‘bill‘,‘tom‘],37 age:[18,19],38 sex:["male","female"]39 });40 結果:name[]=bill&name[]=tom&age[]=18&age[]=19&sex[]=male&sex[]=female41 name,age,sex被自動加上中括弧了,42 對於php來說,$_REQUEST[‘name‘],$_REQUEST[‘age‘],$_REQUEST[‘sex‘]都是array了43 對應好下角標,3個person的資訊就傳遞過來了44 45 換成第二種固定格式:46 $.param([47 {name:‘name‘,value:[‘bill‘,‘tom‘]},48 {name:"age",value:[18,19]},49 {name:"sex",value:["male","female"]}50 ])51 結果:name=bill,tom&age=18,19&sex=male,female
jquery字串序列化方法總結