Ajax๋ Asynchronous JavaScript and XML์ ์ฝ์์ด๋ค.
Ajax๋ ๋น ๋ฅด๊ฒ ๋์ํ๋ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ฐ ๊ธฐ๋ฒ ์ค ํ๋์ด๋ค.
Ajax๋ ์น ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ก๋ฉํ์ง ์๊ณ ๋, ์น ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง์ ๊ฐฑ์ ํ ์ ์๋ค.
์ฆ Ajax๋ฅผ ์ด์ฉํ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ญ์์ ์๋ฒ์ ํต์ ํ์ฌ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ์๋ง ํ์ํ ์ ์๋ค.
์ด๋ JSON, XML, HTML, ํ ์คํธ ํ์ผ ๋ฑ๊ณผ ๊ฐ์ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
Ajax์ ์ฅ์
Ajax๋ฅผ ์ด์ฉํ๋ฉด ์ฌ๋ฌ ์ฅ์ ์ด ์๋ค.
Ajax์ ํ๊ณ
Ajax๋ฅผ ์ด์ฉํ๋ฉด ์ฌ๋ฌ ์ฅ์ ์ ๊ฐ์ง์ง๋ง, Ajax๋ก๋ ๋ค์๊ณผ ๊ฐ์ ์ผ๋ค์ ์ฒ๋ฆฌํ ์ ์๋ค.
URL๊ณผ ๋งค๊ฐ๋ณ์๋ก Ajax์์ฒญ์ ์ ์ก, callback ํจ์๋ ์์ฒญ ์๋ฃ์ ํธ์ถ, ์๋ต ํ ์คํธ๋ ์ผ์นํ๋ ์๋ฆฌ๋จผํธ์ ์ปจํด์ฒด๋ฅผ ๋์ฒดํ๊ณ HTML ๊ฒฐ๊ณผ๊ฐ์ผ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ฉ์ดํ๋ค.
url
: ์์ฒญ์ด ์ ์ก๋๋ ์๋ฒ์ธก URL
parameters
: URL์ ์ ๋ฌํ๊ณ ์ ํ๋ data
callback
: ์๋ต ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ผ์นํ๋ ์๋ฆฌ๋จผํธ๋ก ๋ก๋ ๋ ์ดํ ํธ์ถ ๋๋ ํจ์
์์
$(function(){
$('#letter-a a').click(function(){
$('#dictionary').hide().load('a.html', function(){
$(this).fadeIn();
});
return false;
})
});
URL์ ์ฌ์ฉํ์ฌ ์๋ฒ์ ๋ํ GET,POST ์์ฒญ์ ์ ์ก
๋งค๊ฐ๋ณ์๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ์ ๋ฌ
url
: ์์ฒญ์ด ์ ์ก๋๋ ์๋ฒ์ธก URL
parameters
: URL์ ๋ง๋ถ์ด๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๊ตฌ์ฑํ๊ธฐ ์ํ ์ด๋ฆ๊ณผ ๊ฐ์ ์์ผ๋ก ํ๋กํผํฐ๋ฅผ ์ง๋ ๊ฐ์ฒด
callback
: ์๋ต ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ผ์นํ๋ ์๋ฆฌ๋จผํธ๋ก ๋ก๋ ๋ ์ดํ ํธ์ถ ๋๋ ํจ์
URL์ ์ฌ์ฉํ์ฌ ์๋ฒ์ ๋ํ GET ์์ฒญ์ ์ ์ก
๋งค๊ฐ๋ณ์๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ์ ๋ฌ
์๋ต์ JSON ๋ฌธ์์ด๋ก ํด์๋๋ฉฐ ๊ฒฐ๊ณผ๋ callbackํจ์์ ์ ๋ฌ
url
: ์์ฒญ์ด ์ ์ก๋๋ ์๋ฒ์ธก URL
parameters
: URL์ ๋ง๋ถ์ด๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๊ตฌ์ฑํ๊ธฐ ์ํ ์ด๋ฆ๊ณผ ๊ฐ์ ์์ผ๋ก ํ๋กํผํฐ๋ฅผ ์ง๋ ๊ฐ์ฒด
callback
: ์๋ต ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ผ์นํ๋ ์๋ฆฌ๋จผํธ๋ก ๋ก๋ ๋ ์ดํ ํธ์ถ ๋๋ ํจ์
์์
$(function(){
$('#letter-b a').click(function(){
$.getJSON('b.json', function(data){ //callbackํจ์์ ํ๋ผ๋ฏธํฐ ๋ณ์์๋ ์๋ฒ์ ๊ฒฐ๊ณผ๊ฐ์ด ์จ๋ค.
//๊ฒฐ๊ณผ๊ฐ: [{},{}] -> ๋ฐฐ์ด
$('#dictionary').empty();
$.each(data, function(index, item){
var html = '<div class="entry">';
html += '<h3 class="term">' + item.term + '</h3>';
html += '<div class="part">' + item.part + '</div>';
html += '<div class="definition">' + item.definition + '</div>';
html += '</div>';
$('#dictionary').append(html);
});
});
return false;
});
});
options๋ฅผ ํตํด Ajax ์์ฒญ์ ์ ์ก
options
: ์์ฒญ์ ๋ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ ํ๋ ํ๋กํผํฐ ๊ฐ์ฒด
$.ajax({
url : 'b.json',
type : 'get',
dataType : 'json',
success : function(data){
}
...
})