- AJAX(Asynchronous Javascript And XML)
javascript๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ๋ฐ์ดํฐ ํต์ ๊ธฐ์
๋ค๋ก ๊ฐ๊ธฐ๊ฐ ์๋(ํ์ด์ง ์ด๋์ด ์๋) ๋ถ๋ถ์ ์ผ๋ก ์ ๋ณด๋ฅผ ๋ฆฌ๋ก๋ ํ๋ ๊ธฐ์
์๋ตํ๋ ๊ณณ์ด html์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํด์ฃผ์ด ๋ถํ๊ฐ ํจ์ฌ ์ ๊ณ ๋น ๋ฅด๋ค.
์์ฒญํ ๋ xmlhttprequest, Data๋ฅผ ์์ฒญํ๊ณ data๋ฅผ returnํด์ค๋ค.
๊ทธ ๋ถ๋ถ์ ๋ถ๋ถ๋ฆฌ๋ก๋ฉํด์ค๋ค.
์ฐธ๊ณ ๋ก ์์ฆ์ websoket์ฌ์ฉํ๋ค :-)
ํ์ฌ ๋ฐฐ์ฐ๊ณ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ์ ์ ES5์ด๋ค.
ES6,7๋ฑ์ ์ต์ ๋ฒ์ ์ ์คํฌ๋ฆฝํธ๋ฌธ๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ปดํ์ผ๋ฌ ํด์ฃผ์ง ๋ชปํด์ ํ์ํ ๊ฒ์ด ๋ฐ๋ฒจ์ด๋ค.
*๋ฐ๋ฒจ(babel) : EX6 ๋ฅผ ES5๋ก ์ปดํ์ผ ํด์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ปดํ์ผ๋ฌ
์ด๋ฌํ ์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ์ ๋ฑ์ฅ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ์ ์ด์ฟผ๋ฆฌ๋ ํํฅ์ ํ๊ณ ์๊ณ ์์ํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋ฐ์ ํ๊ณ ์๋ค.
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
<a href="ajax_info.txt">ํ์ผ์ด๋</a>
</div>
<script>
function loadDoc() {
var responseText = fetch("ajax_info.txt");
console.log(responseText);
}
</script>
</body>
</html>
๊ฐ๋ฐ์๋ชจ๋์์ ajax_info.txt๋ฅผ ์ฐพ์ง ๋ชปํ๋ ์ด์ ๋ ํจ์น๋ฅผ ํ๋ ์๊ฐ ํ๋๋์คํฌ์ i/o๋ฅผ ํ๋ค.
i/oํ ๊ณผ์ ์ค์ responseText์ ๋ฃ๊ธฐ๋๋ฌธ์ ๋ณด์ด์ง ์์.
promise : ์ธ์ ๊ฐ ๋ค์ด์ฌ ๋ฐ์ดํฐ
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
<a href="ajax_info.txt">ํ์ผ์ด๋</a>
</div>
<script>
async function loadDoc() {
var responseText = await fetch("ajax_info.txt");
console.log(responseText);
}
</script>
</body>
</html>
๋ฐ์ดํฐ๋ฅผ ๋ฐ์.
fetch๋ฅผ ํ๊ธฐ ์ ๊ธฐ๋ค๋ฆฐ ํ ๋ณ์์ ๋ฃ๋ awaitํด์ผํ๋ค.
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
<a href="ajax_info.txt">ํ์ผ์ด๋</a>
</div>
<script>
async function loadDoc() {
var response = await fetch("ajax_info.txt");
var responseText = await response.text(); // ํ์ฑํ๋ ์๊ฐ๋ํ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ฃ์
console.log(responseText);
}
</script>
</body>
</html>
๊ธฐ๋ค๋ ค์ฃผ๋ await๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฒฐ๊ณผ๊ฐ์ ์ป์ ์ ์๋ค.
๋ชจ~ ๋ ํต์ ์ ๋ค ๋ถ์ด์ผ ํ๋ค.
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
<a href="ajax_info.txt">ํ์ผ์ด๋</a>
</div>
<script>
async function loadDoc() {
var response = await fetch("ajax_info.txt");
var responseText = await response.json(); // json์ ํ์ฑํด์ ๋ฟ๋ ค์ค
console.log(responseText);
console.log(responseText.name); //.name์ฒ๋ผ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ๊ฒฐ๊ณผ๊ฐ์
//var t = JSON.parse(responseText); ์ผ๋ก ํ๋ฉด t.name์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
}
</script>
</body>
</html>
.json์ผ๋ก ๋ฐ์ผ๋ฉด ์ปดํ์ผ ์ ํ์ฑ๋์ด ๊ฐ์ฒด๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
'java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก์ ํธ ๋ชจ๋ธ๋ง (0) | 2020.11.12 |
---|---|
AJAX (0) | 2020.11.12 |
JSP - ๊ฒ์ํ๋ง๋ค๊ธฐ(11) - ์ฃผ์ API ์ฌ์ฉํ๊ธฐ (0) | 2020.11.12 |
์คํ๋ฆฌ๋ง ๋ถํธ ๊ธฐ๋ณธ๊ฐ๋ (0) | 2020.11.11 |
JSP - ๊ฒ์ํ๋ง๋ค๊ธฐ(10) ๋ก๊ทธ์ธ -v2(Cookie,ELํํ์, JSTL ์ ์ฉ) (0) | 2020.11.09 |