jQuery.param(), Ajax µ¥ÀÌÅÍ¿ë ¹è¿À̳ª °´Ã¼¸¦ Á÷·ÄÈ |
|
|
|
8³â Àü
|
°³¿ä : URL Äõ¸® ½ºÆ®¸µ ¶Ç´Â Ajax ¿äû¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¹è¿À̳ª °´Ã¼¸¦ Á÷·ÄÈ ÇÕ´Ï´Ù.
jQuery.param( obj )
obj ¹è¿ ¶Ç´Â °´Ã¼
jQuery.param( obj, traditional )
obj ¹è¿ ¶Ç´Â °´Ã¼
traditional ¾èÀº ¼öÁØ(Shallow) Á÷·ÄÈ Áö¿ø ¿©ºÎ¸¦ °áÁ¤ÇÏ´Â Boolean °ª
ÀÌ ÇÔ¼ö´Â Æû ¿ä¼ÒµéÀÇ °ªÀ» º¯È¯ÇÏ¿© Á÷·ÄÈµÈ ¹®ÀÚ¿·Î Ç¥ÇöÇÕ´Ï´Ù.
jQuery 1.3 ±îÁö´Â ÇÔ¼ö ¹®ÀÚ¿ ´ë½Å ÇÔ¼öÀÇ ¹Ýȯ°ªÀ» »ç¿ëÇß½À´Ï´Ù. ( the return value of a function is used instead of the function as a String ).
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"}]
Note: ¸¸¾à Á÷·ÄÈ ¹è¿À» ÆĽÌÇϴµ¥ Á¦ÇÑÀÌ ÀÖ´Â ¾î¶² ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ°Ô µÈ´Ù¸é, °³¹ßÀÚ´Â °³Ã¼ ¶Ç´Â ´Ù¸¥ ¹è¿ ³»¿¡ Áßø ¹è¿À» Æ÷ÇÔÇÏ´Â obj Àμö¸¦ Àü´ÞÇÒ ¶§ °¢º°È÷ ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù.
Note: param ¹®ÀÚ¿¿¡ ´ëÇÑ º¸ÆíÀûÀ¸·Î ÇÕÀÇµÈ »ç¾çÀº ¾ø±â ¶§¹®¿¡, ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¸ðµç languageµéÀ» Áö¿øÇÏ´Â ¹æ½ÄÀÇ º¹ÀâÇÑ µ¥ÀÌÅÍ ±¸Á¶¸¦ ÀÎÄÚµù ÇÒ ¼ö ¾ø½À´Ï´Ù.
jQuery 1.4¿¡ ¿Í¼, HTML5 ÀÇ input ¿ä¼Òµéµµ Á÷·ÄÈ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾Æ·¡¿Í °°ÀÌ Äõ¸®½ºÆ®¸µÀ» ¸¸µé¼öµµ ÀÖ°í URI-decoded µµ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
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
$.param() ÇÔ¼ö¸¦ jQuery 1.4 ÀÌÀü ¹öÁ¯ ÇüÅ·Π»ç¿ëÇÏ±æ ¿øÇϸé, traditional ÀÎÀÚ¸¦ true·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
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);
shallowEncoded ¿Í shallowDecoded ´Â ¾Æ·¡¿Í °°Àº °á°ú¸¦ º¸¿©ÁÝ´Ï´Ù.
a=%5Bobject+Object%5D&b=1&b=2&b=3
a=[object+Object]&b=1&b=2&b=3
¿¹ Á¦
key/value °´Ã¼·Î Á÷·ÄÈ ÇÕ´Ï´Ù.
<!DOCTYPE html>
<html>
<head>
<style>div { color:red; }</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="results"></div>
<script>
var params = { width:1680, height:1050 };
var str = jQuery.param(params);
$("#results").text(str);
</script>
</body>
</html>
¿¹ Á¦ Á¶±Ý º¹ÀâÇÑ ÇüÅÂÀÇ Á÷·ÄÈ
// <=1.3.2:
$.param({ a: [2,3,4] }) // "a=2&a=3&a=4"
// >=1.4:
$.param({ a: [2,3,4] }) // "a[]=2&a[]=3&a[]=4"
// <=1.3.2:
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a=[object+Object]&d=3&d=4&d=[object+Object]"
// >=1.4:
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"
Ajax·Î µ¥ÀÌÅ͸¦ ¸¸µé¾î¼ º¸³¾ ¶§ ÇÊ¿äÇÑ ÇÔ¼ö³×¿ä. 1.4 ¹öÁ¯ ºÎÅÍ ¸ÚÁö°Ô º¯Çß½À´Ï´Ù. form¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ²¨³»¼ ÀÌ ÇÔ¼ö¸¦ Å¿ì¸é Äõ¸®½ºÆ®¸µÀ» ¸¸µé¾î Áشٴϱî Àß »ç¿ëÇϽñ⠹ٶø´Ï´Ù. |
|
̵̧ : 263 |
̵̧
¸ñ·Ï
|
|