jQuery ajax - param() method
example
Serialize a key/value Object:
var params = { width:1900, height:1200 }; var str = jQuery.param(params); $("#results").text(str);
Result:
width=1680&height=1050
TIY Example
Output the result of the serialized object:
$("button").click(function(){ $("div").text($.param(personObj)); });
Definition and Usage
Ang .param() na paraan ay gumagawa ng serialization representation ng array o objekto.
Ang halaga ng serialization na ito ay maaaring gamitin sa URL query string kapag ginagawa ang AJAX request.
syntax
jQuery.param(object,traditional)
parameter | description |
---|---|
object | ang array o objekto na dapat ma-serialize. |
traditional | tumingnan kung gagamitin ang tradisyonal na paraan ng pag-serialize (parameter serialization). |
detailed explanation
Ang .param() na paraan ay ginagamit upang ma-serialize ang halaga ng elemento bilang isang string ng serialization. Tingnan ang .serialize() Kumita ng mas maraming impormasyon.
Para sa jQuery 1.3, kung ang inilipat na argumento ay isang function, ang .param() ay magbibigay ng halaga ng ibabalik ng function, hindi ng magbigay ng function bilang string.
Para sa jQuery 1.4, ang .param() na paraan ay gagamitin ang mga malalim na pagpapa-recursive upang makuha ang serialization ng objekto, upang sumakat sa mga pangkaraniwang kailangan ng mga modernong script language, tulad ng PHP, Ruby on Rails at iba pa. Maaari mong i-set ang jQuery.ajaxSettings.traditional = true; upang lubusang i-ban ang ganitong function.
kung ang inilipat na objekto ay nasa loob ng array, dapat na ito ay may format na .serializeArray() ang ibabalik na halaga ay isang objekto ng array ng format:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"} {name:"job",value:"Rock Star"}]
Pansin:Dahil ang ilang framework ay may limitadong kakayahan sa pagseryahan ng naka-numerong serialized, kaya kailangan mong mag-ingat kapag iniiwan ng argumento ang mga array na may objekto o nested arrays!
Sa jQuery 1.4, ang input element ng HTML5 ay maaring sinuseryahan din.
Higit pang halimbawa
Maaari naming ipakita ang kweri string representation at ang uri-encoded version ng objekto sa ibaba:
var myObject = { a: { one: 1, two: 2, three: 3 }, b: [1,2,3] }; var recursiveEncoded = $.param(myObject); var recursiveDecoded = decodeURIComponent($.param(myObject)); alert(recursiveEncoded); alert(recursiveDecoded);
Ang halaga ng recursiveEncoded at recursiveDecoded ay inilalabas sa ibaba:
a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3 a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3
Maaaring i-set ang parameter na traditional sa true upang magsimula sa pagiging pagkilos ng $.param() bago pa ang jQuery 1.4:
var myObject = { a: { one: 1, two: 2, three: 3 }, b: [1,2,3] }; var shallowEncoded = $.param(myObject, true); var shallowDecoded = decodeURIComponent(shallowEncoded); alert(shallowEncoded); alert(shallowDecoded);
Ang halaga ng recursiveEncoded at recursiveDecoded ay inilalabas sa ibaba:
a=%5Bobject+Object%5D&b=1&b=2&b=3 a=[object+Object]&b=1&b=2&b=3