์๋ฒ์ ์์ฒญํ๋ ๋ฒ
- ์ด๋ค ๋ฐ์ดํฐ์ธ์ง url์ ์ ๋๋ก ์์ฑํ๋ค (ํ๋ฆฐ url๋ก ์์ฒญ์ 404error๊ฐ ๋ฌ๋ค)
- ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ์์ฒญํ ์ง ๊ฒฐ์ ํ๋ค (GET/POST .. PUT, DELETE ๋ฑ)
GET
GET ์์ฒญ์ ์๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ถ์ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ url์ ์ ์ผ๋ฉด ๊ทธ๊ณณ์ผ๋ก GET ์์ฒญ์ ๋ ๋ฆฐ๋ค.
POST
POST ์์ฒญ์ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ถ์ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
POST ์์ฒญ์ ๋ ๋ฆฌ๊ณ ์ถ์ผ๋ฉด form ํ๊ทธ + method="post" + action="url"์ ์ด์ฉํ๋ฉด ๋๋ค.
<form action="/data" method="post">
</form>
GET๊ณผ POST๋ ์์ฒญํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก๊ณ ์นจ๋๋ค.
AJAX
์๋ฒ์ GET, POST ์์ฒญ์ ํ ๋ ์๋ก๊ณ ์นจ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋์์ฃผ๋ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ด๋ค. (ex. ๋๊ธ์ ์๋ฒ๋ก ์ ์กํ๊ฑฐ๋, ๋ชฉ๋ก ํผ์ณ ๋๋ณด๊ธฐ ๋ฑ)
๋ฐ์ดํฐ ์์ฒญํ๊ธฐ
๊ธฐ๋ณธํจ์๋ fetch(), jquery๋ $.get() ์์ url์ ๊ธฐ์ ํ๋ค.
then()(ํน์ done())์์ ์ฝ๋ฐฑํจ์ ๋ฃ๊ณ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ง๋ค๋ฉด ๋ฐ์ดํฐ ์์ฒญ ์ฑ๊ณต์ ๊ฑฐ๊ธฐ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋ค. (์์ฒญ ์ฑ๊ณต์ done ์์ ์๋ ์ฝ๋๋ฅผ ์คํํด์ค๋ค.)
์์ฒญ ์คํจ์ catch(ํน์ fail()) ์์ ์๋ ์ฝ๋๋ฅผ ์คํํด์ค๋ค.
// ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ณธํจ์ ๋ฒ์
fetch('https://codingapple1.github.io/price.json')
.then(res => res.json())
.then(function(data){
console.log(data)
})
.catch(function(error){
console.log('์คํจํจ')
});
์๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ๋ฌธ์๋ง ์ฃผ๊ณ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ array, object ๋ฑ์ด ์ ์ก์ด ๋ถ๊ฐ๋ฅํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ JSON์ผ๋ก ๋ฐ๊ฟ์ ์ ์กํ ์ ์๋ค. (JSON์ ๋ฌธ์๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๋ฐ์ดํฐ์ฃผ๊ณ ๋ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค)
// jquery ๋ฒ์
$.get('https://codingapple1.github.io/hello.txt')
.done(function(data){
console.log(data)
})
.fail(function(error){
console.log('์คํจ')
});
jquery์ $.get()์ JSON์ผ๋ก ์๋ฃ๊ฐ ๋์ฐฉํ๋ฉด ์์์ array/object ์๋ฃ๋ก ๋ฐ๊ฟ์ค๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๋ณธํจ์ fetch() ๋ฑ์ JSON์ผ๋ก ์๋ฃ๊ฐ ๋์ฐฉํ๋ฉด res.json() ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ array/object ์๋ฃ๋ก ๋ฐ๊ฟ ์ ์๋ค.
JSON์ object๋ก ๋ณํํ๊ธฐ
https://sunshineyellow.tistory.com/53
๋ฐ์ดํฐ ๋ณด๋ด๊ธฐ
$.post('url~~', {name : 'Noran'})
post๋ .done()์ ๋ถ์ด๋ ๋ฑ ๊ฐ๋ฅํ๋ค.
object๋ฅผ JSON์ผ๋ก ๋ณํํ๊ธฐ
https://sunshineyellow.tistory.com/52
์ถ์ฒ : ์ฝ๋ฉ์ ํ https://codingapple.com/ / MDN https://developer.mozilla.org/ko/