9.1 jQuery์ $ ๊ฐ์ฒด ๋ฐ ajax ๋ฉ์๋
jQuery์๋ ๋คํธ์ํฌ ์์
์ ์ํ ํน์ ์ ์ญ ๊ฐ์ฒด๋ ์์ต๋๋ค. ์ง์ํ ์ ์๋ฏ์ด $
. ์, ๊ทธ ์ด๋ฆ์
๋๋ค. ํ์ง๋ง ๊ฐ๋จํ๊ณ ํธ๋ฆฌํฉ๋๋ค.
JavaScript์์ API์ ์์ฒญ์ ๋ณด๋ด๊ณ ์์ ๋ ์๋ต์ ์ฒ๋ฆฌํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค:
$.ajax({
type: "POST",
url: "api.codegym.cc",
data: {name: 'Bill', location: 'Radmond'},
success: function(msg){
alert( "Person found: " + msg );
}
});
๊ทธ๊ฒ ๋ค์ผ, ๊ทธ๊ฒ ๋ชจ๋ ์ฝ๋์ผ. ์ฐ๋ฆฌ๋ ์์ฒญ๊ณผ ์๋ต ๋ชจ๋ ํ์ํ ๋ชจ๋ ๊ฒ์ ์ค๋ช
ํ๋ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ ๊ฐ์ฒด์ $
๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค .ajax()
- ์ด ํ๋๋
type
HTTP ์์ฒญ ์ ํ์ ์ง์ ํฉ๋๋ค.GET
๋๋POST
- ์ด ํ๋๋ ์์ฒญ์ ๋ณด๋ผ ๋์์
url
์ง์ ํฉ๋๋ค .url
- ์ด ํ๋๋
data
JSON ํ์์ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํฉ๋๋ค. - success ํ๋๋ ์๋ฒ๋ก๋ถํฐ ์ฑ๊ณต์ ์ธ ์๋ต ํ ํธ์ถ๋ ํจ์๋ฅผ ์ง์ ํฉ๋๋ค .
9.2 ์ ์ฉํ ์ฟผ๋ฆฌ
๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ์์ฒญ์ ๋ ์งง๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋จํ POST ์์ฒญ์ ์์ฑํ ์ ์์ต๋๋ค .
$.post("ajax/test.html", function( data ) {
$( ".result" ).html( data );
});
์ฝ๋๊ฐ ๋ฌด์์ ํ๋์ง ์์ญ๋๊น $( ".result" ).html( data );
? ์ถ์ธกํด ๋ด
์๋ค...
๋ฌธ์์์ ๊ฒฐ๊ณผ ํด๋์ค๊ฐ ์๋ ์์๋ฅผ ์ฐพ๊ณ ๊ทธ ์์ HTML ์ฝ๋์ธ data ๋ฅผ ์ถ๊ฐํฉ๋๋ค data
. ๋ฐ๋ผ์ ๋ช ์ค ๋ง์ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ํ์ด์ง์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ธ์, ๊ทธ๊ฒ์ ์๋ฆ๋ค์์ด ์๋๊ฐ? :)
GET ์์ฒญ์ ๋ช ์ค๋ก ์์ฑํ ์๋ ์์ต๋๋ค.
$.get("ajax/test.html"., function( data ) {
$( ".result" ).html( data );
});
์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์คํํ์๊ฒ ์ต๋๊น?
$.ajax({
method: "GET",
url: "test.js",
dataType: "script"
});
์ต์ HTML ํ์ด์ง๋ฅผ ๋ฐ์ผ์๊ฒ ์ต๋๊น?
$.ajax({
url: "test.html",
cache: false
})
.done(function( html ) {
$( "#results" ).append( html );
});
์ธํฐ๋ท์๋ ์์ฃผ ์ข์ jQuery ๋ฌธ์๊ฐ ์์ต๋๋ค.
๋ํ ๋ชจ๋ ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ Google์์ ์ฝ๊ฒ ๊ฒ์ํ ์ ์์ผ๋ฉฐ StackOverflow์ ์์ต๋๋ค.
GO TO FULL VERSION