jQuery ajax - param() ·½·¨
ʵÀý
ÐòÁл¯Ò»¸ö key/value ¶ÔÏó£º
var params = { width:1900, height:1200 };
var str = jQuery.param(params);
$("#results").text(str);
½á¹û:
width=1680&height=1050
TIY ʵÀý
Êä³öÐòÁл¯¶ÔÏóµÄ½á¹û£º
$("button").click(function(){
$("div").text($.param(personObj));
});
¶¨ÒåºÍÓ÷¨
param() ·½·¨´´½¨Êý×é»ò¶ÔÏóµÄÐòÁл¯±íʾ¡£
¸ÃÐòÁл¯Öµ¿ÉÔÚ½øÐÐ AJAX ÇëÇóʱÔÚ URL ²éѯ×Ö·û´®ÖÐʹÓá£
Óï·¨
jQuery.param(object,traditional)
| ²ÎÊý | ÃèÊö |
|---|---|
| object | Òª½øÐÐÐòÁл¯µÄÊý×é»ò¶ÔÏó¡£ |
| traditional | ¹æ¶¨ÊÇ·ñʹÓô«Í³µÄ·½Ê½Ç³²ã½øÐÐÐòÁл¯£¨²ÎÊýÐòÁл¯£©¡£ |
Ïêϸ˵Ã÷
param() ·½·¨ÓÃÓÚÔÚÄÚ²¿½«ÔªËØÖµ×ª»»ÎªÐòÁл¯µÄ×Ö·û´®±íʾ¡£Çë²ÎÔÄ .serialize() Á˽â¸ü¶àÐÅÏ¢¡£
¶ÔÓÚ jQuery 1.3£¬Èç¹û´«µÝµÄ²ÎÊýÊÇÒ»¸öº¯Êý£¬ÄÇôÓà .param() »áµÃµ½Õâ¸öº¯ÊýµÄ·µ»ØÖµ£¬¶ø²»ÊǰÑÕâ¸öº¯Êý×÷Ϊһ¸ö×Ö·û´®À´·µ»Ø¡£
¶ÔÓÚ jQuery 1.4£¬.param() ·½·¨½«»áͨ¹ýÉî¶ÈµÝ¹éµÄ·½Ê½ÐòÁл¯¶ÔÏó£¬ÒÔ±ã·ûºÏÏÖ´ú»¯½Å±¾ÓïÑÔµÄÐèÇ󣬱ÈÈç PHP¡¢Ruby on Rails µÈ¡£Äã¿ÉÒÔͨ¹ýÉèÖà jQuery.ajaxSettings.traditional = true; À´È«¾ÖµØ½ûÓÃÕâ¸ö¹¦ÄÜ¡£
Èç¹û±»´«µÝµÄ¶ÔÏóÔÚÊý×éÖУ¬Ôò±ØÐëÊÇÒÔ .serializeArray() µÄ·µ»ØÖµÎª¸ñʽµÄ¶ÔÏóÊý×飺
[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
×¢Ò⣺ÒòΪÓÐЩ¿ò¼ÜÔÚ½âÎöÐòÁл¯Êý×ÖµÄʱºòÄÜÁ¦ÓÐÏÞ£¬ËùÒÔµ±´«µÝһЩº¬ÓжÔÏó»òǶÌ×Êý×éµÄÊý×é×÷Ϊ²ÎÊýʱ£¬ÇëÎñ±ØÐ¡ÐÄ£¡
ÔÚ jQuery 1.4 ÖУ¬HTML5 µÄ input ÔªËØÒ²»á±»ÐòÁл¯¡£
¸ü¶àʵÀý
ÎÒÃÇ¿ÉÒÔÈçÏÂÏÔʾ¶ÔÏóµÄ²éѯ×Ö·û´®±íʾÒÔ¼° URI ±àÂë°æ±¾£º
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);
recursiveEncoded ºÍ recursiveDecoded µÄÖµÊä³öÈçÏ£º
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
¿ÉÒÔ½« traditional ²ÎÊýÉèÖÃΪ true£¬À´Ä£Äâ jQuery 1.4 ֮ǰ°æ±¾ÖÐ $.param() µÄÐÐΪ£º
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);
recursiveEncoded ºÍ recursiveDecoded µÄÖµÊä³öÈçÏ£º
a=%5Bobject+Object%5D&b=1&b=2&b=3 a=[object+Object]&b=1&b=2&b=3