์ฑ <๋ฌ๋์๋ฐ์คํฌ๋ฆฝํธ>๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ๋ฐฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฉ์ ๋๋ค.
๋ชฉ์ฐจ
- 1. Ajax(Asynchronous JavaScript and XML)
- 2. JSON (JavaScript Object Notation)
- 3. XMLHttpRequest
<Ajax>
1. Ajax(Asynchronous JavaScript and XML)
- ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ๋น๋๊ธฐ์ (Asynchronous)์ผ๋ก ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์ ์๋ ํต์ ๋ฐฉ์
- ์๋ฒ๋ก๋ถํฐ ์นํ์ด์ง๊ฐ ๋ฐํ๋๋ฉด ํ๋ฉด ์ ์ฒด๋ฅผ ๊ฐฑ์ ํด์ผ ํ๋๋ฐ ํ์ด์ง ์ผ๋ถ๋ง์ ๊ฐฑ์ ํ๊ณ ๋ ๋์ผํ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋๋ก ํ๋ ๊ฒ์ด Ajax์ด๋ค.
- ํ์ด์ง ์ ์ฒด๋ฅผ ๋ก๋ํ์ฌ ๋ ๋๋งํ ํ์๊ฐ ์๊ณ ๊ฐฑ์ ์ด ํ์ํ ์ผ๋ถ๋ง ๋ก๋ํ์ฌ ๊ฐฑ์ ํ๋ฉด ๋๋ฏ๋ก ๋น ๋ฅธ ํผํฌ๋จผ์ค์ ๋ถ๋๋ฌ์ด ํ๋ฉด ํ์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค.
2. JSON (JavaScript Object Notation)( ์ฐธ๊ณ ์ฌ์ดํธ : http://www.json.org/json-ko.html)
- JSON์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ํ ๊ท์น ์ฆ ๋ฐ์ดํฐ ํฌ๋งท์ ๋งํ๋ค.
- ์๋ฒ๊ฐ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ๋ณดํต JSONํ์์ผ๋ก ๋ณด๋ธ๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด ๋ฆฌํฐ๋ด๊ณผ ๋งค์ฐ ํก์ฌํ์ง๋ง JSON์ ์์ํ ํ ์คํธ๋ก ๊ตฌ์ฑ๋ ๊ท์น์ด ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค.
{
"name": "Lee",
"gender": "male",
"age": 20,
"alive": true
}
#ํค๋ ๋ฐ๋์ ํฐ๋ฐ์ดํ(์์๋ฐ์ดํ ์ฌ์ฉ๋ถ๊ฐ)๋ก ๋๋ฌ์ธ์ผ ํ๋ค.
3. XMLHttpRequest ( ์ฐธ๊ณ ์ฌ์ดํธ : https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)
- ๋ธ๋ผ์ฐ์ ๋ XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ Ajax ์์ฒญ์ ์์ฑํ๊ณ ์ ์กํ๋ค.
- ์๋ฒ๊ฐ ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ๋ํด ์๋ต์ ๋ฐํํ๋ฉด ๊ฐ์ XMLHttpRequest ๊ฐ์ฒด๊ฐ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ค์์ Ajax ์์ฒญ ์ฒ๋ฆฌ์ ์์ด๋ค.
// XMLHttpRequest ๊ฐ์ฒด์ ์์ฑ
const xhr = new XMLHttpRequest();
// ๋น๋๊ธฐ ๋ฐฉ์์ผ๋ก Request๋ฅผ ์คํํ๋ค
xhr.open('GET', '/users');
// Request๋ฅผ ์ ์กํ๋ค
xhr.send();
- ๋ค์์ Ajax ์๋ต ์ฒ๋ฆฌ์ ์์ด๋ค.
// XMLHttpRequest ๊ฐ์ฒด์ ์์ฑ
const xhr = new XMLHttpRequest();
// XMLHttpRequest.readyState ํ๋กํผํฐ๊ฐ ๋ณ๊ฒฝ(์ด๋ฒคํธ ๋ฐ์)๋ ๋๋ง๋ค onreadystatechange ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ํธ์ถ๋๋ค.
xhr.onreadystatechange = function (e) {
// readyStates๋ XMLHttpRequest์ ์ํ(state)๋ฅผ ๋ฐํ
// readyState: 4 => DONE(์๋ฒ ์๋ต ์๋ฃ)
if (xhr.readyState !== XMLHttpRequest.DONE) return;
// status๋ response ์ํ ์ฝ๋๋ฅผ ๋ฐํ : 200 => ์ ์ ์๋ต
if(xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.log('Error!');
}
};
'๐ฐ ์ธ์ด > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด๋ฒคํธ (0) | 2020.01.24 |
---|---|
๋ธ๋ผ์ฐ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ(2) - DOM ์์ ์ ๊ทผ, ์กฐ์ (0) | 2020.01.24 |
๋ธ๋ผ์ฐ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ(1) - ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ DOM (0) | 2020.01.24 |
์ ๊ท ํํ์ (0) | 2020.01.23 |
๋น๋๊ธฐ์ ํ๋ก๊ทธ๋๋ฐ(1) - ๋๊ธฐvs๋น๋๊ธฐ, ์ฝ๋ฐฑ (0) | 2020.01.14 |