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));
});

Try it yourself

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