jQuery.get() HTTP GET ¹æ½Ä Ajax ¿äû |
|
|
 |
8³â Àü |
jQuery.get( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
°³¿ä : HTTP GET ¹æ½Ä ¿äûÀ» ÅëÇØ ¼¹ö·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¹Þ½À´Ï´Ù.
jQuery.get( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
url Á¤º¸¸¦ ¿äûÇÒ URL
data ¼¹ö·Î º¸³¾ data
success(data, textStatus, jqXHR) ¿äûÀÌ ¼º°øÇÏ¸é ½ÇÇàµÉ Äݹé ÇÔ¼ö
dataType ¼¹ö¿¡¼ ¹ÝȯµÇ´Â µ¥ÀÌÅÍÀÇ Å¸ÀÔ. Default: Áö´ÉÇü ÃßÃø (xml, json, script, html)
ÀÌ ÇÔ¼öÀÇ °¡Àå °£´ÜÇÑ »ç¿ë¹ýÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
success Äݹé ÇÔ¼ö´Â ÀÀ´ä¹ÞÀº MIME ŸÀÔº°·Î XML, text ¹®ÀÚ¿, JSON °´Ã¼ µî°ú °°Àº µ¥ÀÌÅÍ°¡ Àü´ÞµÇ¾î Áý´Ï´Ù. ¶ÇÇÑ ÀÀ´ä»óÅ°ªµµ ¹®ÀÚ¿·Î ³Ñ¾î¿É´Ï´Ù.
jQuery 1.5ºÎÅÍ success Äݹé ÇÔ¼ö´Â "jqXHR" °´Ã¼µµ ¹ÞÀ» ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.(jQuery 1.4±îÁö´Â XMLHttpRequest °´Ã¼¸¦ ¹Þ¾ÒÀ½). ÇÏÁö¸¸, JSONP ³ª Å©·Î½ºµµ¸ÞÀÎ(cross-domain)ÀÇ GET ¿äû ½Ã¿¡´Â XHRÀ» »ç¿ëÇÏÁö ¸øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡¼´Â (j)XHR ³ª textStatus ÀÎÀÚ´Â success Äݹé ÇÔ¼ö¿¡¼ "undefined"À¸·Î Àνĵ˴ϴÙ.
´ëºÎºÐ ¼º°ø ½ÃÀÇ Çڵ鷯¸¦ ÁöÁ¤ÇÏ¿© »ç¿ëÇÏ°Ô µË´Ï´Ù.
$.get('ajax/test.html', function(data) {
$('.result').html(data);
alert('Load was performed.');
});
À§ ¿¹Á¦´Â HTMLÀ» ¹Þ¾Æ¼ ó¸®ÇÏ°í ÆäÀÌÁö¿¡ Áý¾î³Ö´Â °ÍÀÔ´Ï´Ù. (µü º¸¸é ¾Æ½ÃÁÒ?? ^^)
The jqXHR Object
jQuery 1.5ºÎÅÍ, ¸ðµç jQueryÀÇ Ajax ÇÔ¼ö´Â XMLHTTPRequest °´Ã¼ÀÇ »óÀ§ÁýÇÕÀ» ¹Ýȯ¹ÞÀ» ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ÀÌ°ÍÀ» jQuery XHR °´Ã¼ ¶Ç´Â "jqXHR" ¶ó°í Çϸç, $.get()À» »ç¿ëÇÏ¸é ¹Ýȯ¹ÞÀ» ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾ú½À´Ï´Ù. ÀÌ·± ¾à¼ÓµÈ ÀÎÅÍÆäÀ̽º ±¸Á¶´Â, ¸ðµç ¼Ó¼ºµé, ÇÔ¼öµé ±×¸®°í ¾à¼ÓµÈ µ¿ÀÛµéÀ» Æ÷ÇÔÇÕ´Ï´Ù.(Deferred object ¸¦ Âü°íÇϼ¼¿ä). ÆíÀǼº°ú Áö¼Ó¼ºÀ» À§ÇØ Äݹé¸íÀ» $.ajax()¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ°í, ¿©±â¿¡¼ .error(), .success(), .complete() ÇÔ¼öµéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ÇÔ¼öµéÀº ¸ðµÎ µ¿ÀÏÇÑ À̸§À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ÀÎÀÚµéÀ» ¹Ýȯ¹Þ¾Æ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ, jQuery 1.5ºÎÅÍ $.get()À» Æ÷ÇÔÇÏ¿© üÀÎ ÇüÅ·Π¿«¾îÁø ¿©·¯°³ÀÇ .success(), .complete(), .error() µéÀ» ´ÜÀÏ ¿äû¿¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú°í, ¿äûÀÌ ¿Ï·áµÈ ÈÄ¿¡µµ À̵é ÄݹéÀ» ÀúÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸ÀÏ ¿äûÀÌ ÀÌ¹Ì ¿Ï·áµÇ¾ú´Ù ÇÏ´õ¶óµµ, ´Ù½Ã ºÒ·¯¼ ¾µ ¼ö ÀÖ½À´Ï´Ù.
// ¿äûÀÌ ¿Ï·áµÈ ÈÄ¿¡ Çڵ鷯¸¦ ÇÒ´çÇÏ°í,
// ÀÌ ¿äû¿¡ ´ëÇÑ jqxhr °´Ã¼´Â ±â¾ïµÇ¾î Áý´Ï´Ù.
var jqxhr = $.get("example.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
// ÀÌ ºÎºÐ¿¡¼ ´Ù¸¥ ÀÛ¾÷À» ¼öÇàÇÑ ÈÄ¿¡µµ ...
// ¶Ç ´Ù¸¥ ¿Ï·á¿¡ ´ëÇÑ ÇÔ¼ö¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
jqxhr.complete(function(){ alert("second complete"); });
À½... À§ ¿¹Á¦ÄÚµåÀÇ ÁÖ¼® ºÎºÐ¸¸ ºÁ¼´Â Á¤È®ÇÑ ³»¿ëÀÌ ÆľǵÇÁö ¾Ê½À´Ï´Ù¸¸.. ¾Æ·¡ÂÊ¿¡¼ ´Ù½Ã È£ÃâÇصµ ¿©ÀüÈ÷ jqxhrÀº À§¿¡¼ ¹ÝȯµÈ °´Ã¼¿Í µ¿ÀÏÇÏ´Ù´Â °ÍÀÔ´Ï´Ù. Áï, Áß°£¿¡ jqxhr¿¡ ´Ù¸¥ ¹Ýȯ°ªÀ» ÇÒ´ç(Assign)ÇÏÁö ¾Ê¾Ò´Ù¸é ¾ðÁ¦´øÁö °°Àº °á°ú¿¡ ´ëÇØ ´Ù·ê ¼ö ÀÖ´Ù´Â ¶æÀÎ°Í °°½À´Ï´Ù.(Àá±ñ Å×½ºÆ®¸¦ ÇØ º» °á°úÀÔ´Ï´Ù.) ÀÌÇØ°¡ µÇ½Ã³ª¿ä??
Additional Notes:
ºê¶ó¿ìÀú º¸¾È Á¤Ã¥¿¡ ÀÇ°ÅÇÏ¿© ´ëºÎºÐÀÇ "Ajax" »ç¿ë ½Ã same origin policy¸¦ Àû¿ë¹Þ°Ô µË´Ï´Ù. Ajax ¿äûÀº ´Ù¸¥ µµ¸ÞÀÎ, ´Ù¸¥ ¼ºêµµ¸ÞÀÎ, ´Ù¸¥ ÇÁ·ÎÅäÄÝ °£¿¡´Â ¼º°øµÇÁö ¸øÇÕ´Ï´Ù.
¸¸ÀÏjQuery.get()¸¦ ¼öÇàÇϸé error Äڵ尡 ³Ñ¾î¿À°í, .ajaxError() ÇÔ¼ö¿¡¼ ´Ù·çÁö ¾Ê´Â ÇÑ µû·Î 󸮵ÇÁö ¾Ê½À´Ï´Ù. Alternatively, as of jQuery 1.5 ºÎÅÍ´Â, jqXHR °´Ã¼¸¦ °¡Áö°í .error() ÇÔ¼ö¿¡¼ ´Ù·ê ¼öµµ ÀÖ½À´Ï´Ù.
Script ¿Í JSONP ¿äûÀº same origin policy restrictions ÀÌ Àû¿ëµÇÁö ¾Ê½À´Ï´Ù.
¿¹ Á¦
test.php ¿¡ ¿äûÇÏÁö¸¸, ¹Ýȯ °á°ú´Â ¹«½ÃÇÕ´Ï´Ù.
$.get("test.php");
¿¹ Á¦
µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ¿© test.php ¿¡ ¿äûÇÕ´Ï´Ù.(´Ü, ¹Ýȯ °á°ú´Â ¹«½ÃÇÕ´Ï´Ù.)
$.get("test.php", { name: "John", time: "2pm" } );
¿¹ Á¦
¹è¿ ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ ¼¹ö·Î º¸³À´Ï´Ù.(¿©ÀüÈ÷ ¹Ýȯ °á°ú¿¡´Â ½Å°æ¾²Áö ¾Ê½À´Ï´Ù.)
$.get("test.php", { 'choices[]': ["Jon", "Susan"]} );
¿¹ Á¦
test.php ÀÇ ¿äû °á°ú¸¦ ¾Ë¸²Ã¢À¸·Î º¸¿© ÁÝ´Ï´Ù.
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
¿¹ Á¦
µ¥ÀÌÅ͸¦ test.cgi ¿¡ º¸³»°í ¹Ýȯ °á°ú¸¦ ¾Ë¸²Ã¢À¸·Î º¸¿© ÁÝ´Ï´Ù.
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
¿¹ Á¦
test.php ÆäÀÌÁö°¡ json ÇüÅÂÀÇ µ¥ÀÌÅÍ (<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>)¸¦ ¹ÝȯÇÏ¸é ±× µ¥ÀÌÅ͸¦ body¿¡ Ç¥½ÃÇÕ´Ï´Ù..
$.get("test.php",
function(data){
$('body').append( "Name: " + data.name ) // John
.append( "Time: " + data.time ); // 2pm
}, "json");
|
|
̵̧ : 358 |
̵̧
¸ñ·Ï
|
|