https://www.youtube.com/watch?v=w077w7FN-pg&list=PLuHgQVnccGMA9-1PvblBehoGg7Pu1lg6q

index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ol>
<h2>WEB</h2>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quo alias labore
aliquid illum pariatur tempora temporibus impedit, odit voluptatibus
delectus, eos tenetur quis, ipsam deleniti eaque. Neque voluptatum id
nihil! Lorem ipsum dolor sit amet consectetur adipisicing elit.
Necessitatibus illum rerum at nesciunt labore voluptates ut blanditiis
vel! Facilis pariatur illo debitis assumenda ipsam quaerat fuga officiis
minus earum aliquid.
</p>
</body>
</html>
1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ol>
<h2>HTML</h2>
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Similique error
cumque rerum vel possimus harum, aut natus fugiat dolor quisquam quae est,
voluptatem sunt repudiandae. Tempora ipsam voluptatibus aliquid illo?Lorem
ipsum dolor sit amet consectetur adipisicing elit. Nihil enim quidem
incidunt aut culpa neque expedita id cum quod eius non ratione quae
possimus, debitis deleniti omnis iusto recusandae eveniet.lo
</p>
</body>
</html>
2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ol>
<h2>CSS</h2>
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Similique error
cumque rerum vel possimus harum, aut natus fugiat dolor quisquam quae est,
voluptatem sunt repudiandae. Tempora ipsam voluptatibus aliquid illo?Lorem
ipsum dolor sit amet consectetur adipisicing elit. Nihil enim quidem
incidunt aut culpa neque expedita id cum quod eius non ratione quae
possimus, debitis deleniti omnis iusto recusandae eveniet.lo
</p>
</body>
</html>
3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ol>
<h2>JavaScript</h2>
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Similique error
cumque rerum vel possimus harum, aut natus fugiat dolor quisquam quae est,
voluptatem sunt repudiandae. Tempora ipsam voluptatibus aliquid illo?Lorem
ipsum dolor sit amet consectetur adipisicing elit. Nihil enim quidem
incidunt aut culpa neque expedita id cum quod eius non ratione quae
possimus, debitis deleniti omnis iusto recusandae eveniet.lo
</p>
</body>
</html>
index.html ์์ ์คํ ํ ๊ฒฝ์ฐ
์๋์ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.

์ฝ๋๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด , 1.HTML ์ ํด๋ฆญํ๋ฉด 1.html ๋ก ์ด๋, 2. CSS๋ฅผ ๋๋ฅด๋ฉด 2.html ๋ก ์ด๋ ํ๋ค.

๊ทผ๋ฐ , ์ด๋ ๊ฒ ์ฌ๋ฌ ํ์ด์ง๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ๊ด๋ฆฌํ๊ธฐ๋ ์ด๋ ต๊ณ , ์ฉ๋๋ ๋ง์์ง๋ค.
๊ทธ๋์ ํด๋น ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ํ๋จ์ ๋ฌธ์ ๋ด์ฉ๋ง ๋ฐ๊พธ๊ณ ์ ํ ๋ ์ฐ์ด๋๊ฒ AJAX๋ค.
์์ ๋ด์ฉ๋ค์ AJAX๋ก ๋ฐ๊ฟ๋ณด๊ธฐ๋ก ํ๋ค.
1. index.htmlํ์ผ์ ์์ ํ๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li>
<a
onclick="
document.querySelector('article').innerHTML='<h2>HTML</h2>html is ...';
"
>HTML</a
>
</li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ol>
<!-- ๋งํฌ๋ฅผ ํด๋ฆญ ์ ์๋์ articleํ๊ทธ ์์ ์๋ ๋ด์ฉ ๋ณ๊ฒฝ -->
<article></article>
</body>
</html>
1. html ์ ํด๋ฆญํ๋ฉด <article> ์์ ๋ด์ฉ์ html ์ถ๊ฐ๋๋ค.

html, css, ํ์ผ ์์ฑ


์น ์๋ฒ์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ผํจ
fetch.html ์์ฑ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<input
type="button"
value="fetch"
onclick="
alert('ht')
"
/>
</body>
</html>

ํ ์คํธ ์๋ฃ
input ๋ด์ฉ ์์ ํ๊ธฐ
์๋ฆฌ๋ฅผ ๋ชฐ๋ผ๋ ์ฌ์ฉ๊ฐ๋ฅํจ



fetch๋ฒํผ ํด๋ฆญ ์ ์์ article ๋ด์ฉ ๋ณ๊ฒฝ๋จ.
fetch(' ') : ์๋ฒ๋ก ์์ฒญํจ
.then : ์๋ฒ๊ฐ ์๋ต์ ํด์ค์ผํจ . ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ , ๋ค ๋๋๋ฉด ๋ค์ ์๋ ํจ์๋ฅผ ์คํ ์์ผ๋ฌ๋ผ๊ณ ํจ .
then ์์ function ์ด ๋ค์ด๊ฐ์์ -> ์ต๋ช ํจ์ (์ด๋ฆ์ด ์์)
์ด๋ฆ์ด ํ์ํ ๊ฒฝ์ฐ๋ ์ฌ๊ธฐ์ ๊ธฐ์ ์ฌ์ฉํ ๋ ํ์ํ๊ณ , then์์์๋ง ์ฌ์ฉํ ๊ฑฐ๋ผ์ ์ต๋ช ํจ์๋ก ์ฌ์ฉ
.then(function(response){
}); : ์ด๋ค ๋ด์ฉ?

status : 200 = ์ฑ๊ณต
์คํจ๋ 404
๋ง์ฝ html ๋ง๊ณ javascript ์์ฒญํ๋ฉด?

404 ์ค๋ฅ ๋ธ

์น ์๋ฒ๊ฐ ์๋ตํ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ณ ์๋ ๊ฐ์ฒด๋ฅผ response ๋ผ๊ณ ํจ .
์ด ๊ฒ์ ํ์ฉํด์
index.html ์์
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AJAX ์ฐ์ต</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1><a href="index.html"> AJAX ์ฐ์ต</a></h1>
<input type="button" value="night" onclick="nightDayHandlert(this);" />
<ol>
<li>
<a
onclick="
fetch('html').then(function(response){
response.text().then(function(text){
document.querySelector('article').innerHTML=text;
})
});
"
>HTML</a
>
</li>
<li>
<a
onclick="
fetch('css').then(function(response){
response.text().then(function(text){
document.querySelector('article').innerHTML=text;
})
});
"
>CSS</a
>
</li>
<li>
<a
onclick="
fetch('JavaScript').then(function(response){
response.text().then(function(text){
document.querySelector('article').innerHTML=text;
})
});
"
>JavaScript</a
>
</li>
</ol>
<!-- ๋งํฌ๋ฅผ ํด๋ฆญ ์ ์๋์ articleํ๊ทธ ์์ ์๋ ๋ด์ฉ ๋ณ๊ฒฝ -->
<article></article>
</body>
</html>

'FRONTEND > ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| (APIํ์ฉ) ๊นํ๋ธ ์ ์ ์ฐพ๊ธฐ app 2 (1) | 2023.11.14 |
|---|---|
| (APIํ์ฉ) ๊นํ๋ธ ์ ์ ์ฐพ๊ธฐ app 1 (1) | 2023.11.14 |
| ๋ก๋ ๋ฒํธ ๊ฐ์ ธ์ค๊ธฐ (0) | 2023.10.06 |
| jQuery ๋ฅผ ํ์ฉํด AJAX ์ฌ์ฉ load() (1) | 2023.10.06 |
| Dom ์์ฉ์ค์ต (1) | 2023.10.05 |