Hello creators ๐
2-10_Quiz_Ajax ์ฐ์ตํ๊ธฐ(2) ๋ณธ๋ฌธ
[WEB & AI] (feat. ์ทจ์ค)/์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ_์น๊ฐ๋ฐ์ข
ํฉ๋ฐ
2-10_Quiz_Ajax ์ฐ์ตํ๊ธฐ(2)
๋ถ์๋งค๋_HA 2023. 10. 6. 07:03728x90
๋ฐ์ํ
โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal)
1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ
๋ฅดํ์ด ๋์
ํด๋ฆญํ๋ฉด -> ์ด๋ฏธ์ง & ํ ์คํธ ๋ณ๊ฒฝ๋๋ ๊ฒํต์ฌ์ ๋ฉ์์ง๋ URL ์ ๋ฐ๊ฟ์น๊ธฐ ํด์ ๋ค๋ฅธ ์ด๋ฏธ์ง๊ฐ ๋์ค๊ฒ ํ๋ ๊ฒ! โญโญโญโญโญ
โ ก. ๊ธฐ๋ณธ ์ฝ๋ ๋ฐ api ํ์ธ
1. ajax code ํด์ฆ ํ๊ธฐ ์ด์ ์ ๊ณต ์ฝ๋
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JQuery ์ฐ์ตํ๊ณ ๊ฐ๊ธฐ!</title>
<!-- JQuery๋ฅผ import ํฉ๋๋ค -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style type="text/css">
div.question-box {
margin: 10px 0 20px 0;
}
div.question-box>div {
margin-top: 30px;
}
</style>
<script>
function q1() {
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์
}
</script>
</head>
<body>
<h1>JQuery+Ajax์ ์กฐํฉ์ ์ฐ์ตํ์!</h1>
<hr />
<div class="question-box">
<h2>3. ๋ฅดํ์ด API๋ฅผ ์ด์ฉํ๊ธฐ!</h2>
<p>์๋๋ฅผ ๋ฅดํ์ด ์ฌ์ง์ผ๋ก ๋ฐ๊ฟ์ฃผ์ธ์</p>
<p>์
๋ฐ์ดํธ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ง์ ๋ค ์๋ก ์์ฌ์ ธ์ผ ํฉ๋๋ค.</p>
<button onclick="q1()">๋ฅดํ์ด ๋์</button>
<div>
<img id="img-rtan" width="300" src="http://spartacodingclub.shop/static/images/rtans/SpartaIcon11.png" />
<h1 id="text-rtan">๋๋ ใ
ใ
ใ
ํ๋ ๋ฅดํ์ด!</h1>
</div>
</div>
</body>
</html>
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ ๊ฒ ๋์ด
2. ๋ฅดํ์ด API ์ฃผ์
http://spartacodingclub.shop/sparta_api/rtan
- ์ด๋ ๊ฒ ๋์ด
โ ข. ํด๋ณด๊ธฐ
1. ์ด์ ๋จ๊ณ๋ ๋ค๋ฅธ ์ : '์ด๋ฒ ๊ณผ์ ์์ ์ฌ์ฉํ๋ ajax๋?'
- ์ด์ ์๋ ์ถ๊ฐํ๊ณ ์ ํ๋ html ์ ํ์ธํ์.
- ์๊ฐํด๋ณด๋ฉด, ๊ทธ ์ด์ ๋ ์ฌ์ฉํ๋ ajax ๊ฐ append ์๊ธฐ ๋๋ฌธ. ์ฆ, append ๋ ์์ html ์ ์ง์ง html ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ ๋๋ฌธ์, ์ถ๊ฐํ๊ณ ์ ํ๋ html ์ ํ์ธํ๋๊ฒ ์๋ฏธ๊ฐ ์์์.
- ๊ทธ๋ฌ๋ฉด, ์ด๋ฒ ๊ณผ์ ์์ ์ฌ์ฉํ๋ ajax ๋? โญโญโญโญโญ
1) ajax ์ค ํ์ํ ํจ์ ์ฐพ๊ธฐ (์ฐพ์๋ค๊ณ ๊ฐ์ )
๊ตฌํํ๊ณ ์ถ์ ๊ธฐ์ ์ด ๋ญ๋ฐ?
ํด๋ฆญํ๋ฉด -> ์ด๋ฏธ์ง๊ฐ ๋ฐ๋๊ณ ,
ํด๋ฆญํ๋ฉด -> ํ ์คํธ๊ฐ ๋ฐ๋๋๊ฑธ ํ๊ณ ์ถ์.
์ฆ, ์ฌ๊ธฐ url ์ด๋, ํ ์คํธ๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์.
- ๐ฅ ์์ง ์ด๊ฒ ์ด๋ป๊ฒ ์๋ํ๋๊ฑด์ง ๋ชฐ๋ผ์, ๋ญ๋ผ๊ณ ๊ฒ์ํด์ผ ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ์. ์ด ๊ธฐ๋ฅ์ ์ข ์๋ฉด, ajax ํด๋น ๊ธฐ์ ์ด๋ ๊ฒ ๊ฒ์ํ ์ ์์ ๊ฒ ๊ฐ์.
- ajax ์์ ํ ์ ์๋ ๊ฒ๋ค์ ์๊ณ , ๊ฒ์ํ ์ ์๊ฒ ํ๋๊ฒ ์ค์ํ๊ฒ ๋ค โญโญโญ
- ์ฐ์ ์ ์ฒ์ ๋ฐฐ์ฐ๋๊น, ํ์ํ ajax ๊ธฐ์ ์ ๋ด๊ฐ ์ฐพ์๋ค! ๊ณ ๊ฐ์ ํ๊ณ ! ์งํ
2) attr
, text
์ฌ์ฉํด์, url ์ด๋ text ==๋ฐ๊ฟ์น๊ธฐ==
- ์ด๊ฑธ ์ฌ์ฉํ ์์
2. ajax ํ์ฉํด์, ์๋ฒ์์ ๋ฐ์์จ response ๋ฅผ console ์ ์ฐ์ด๋ณด๊ธฐ
#ajax_์๋ฒresponse_console์ฐ๊ธฐ_์์ ์ฝ๋
- ajax ์๋ฒresponse_console์ฐ๊ธฐ ์์ ์ฝ๋ โญโญโญ
<script> function q1() { // ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ธ์ $.ajax({ type: "GET", // api ์ฃผ์ โ url: "http://spartacodingclub.shop/sparta_api/seoulbike", data: {}, success: function (response) { console.log(response['getStationList']['row']) } }) } </script>
<br>
- ๊ฒฐ๊ณผ๋ฌผ
๋ฒํผ ํด๋ฆญ -> q1 ํจ์ ์คํ -> ์๋ฒ api ์ ๊ฐ์, (์ด๋ฏธ ์ฌ๋ ค์ ธ ์๋) ๋ฐ์ดํฐ๋ฅผ response ์ ๋ฐ์ -> ๋ฐ์์จ ๊ฑธ console ์ ๋ณด์ฌ์ค!
- ์ด step by step ์ด ํ๊บผ๋ฒ์ ์คํ์ด ๋จ. โญโญโญ
- ์ด๋ฏธ ํด๋น api ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋ค๋ ๊ฒ ์ ์ ๋์ด ์์. โญโญโญ
![](https://i.imgur.com/jsjtGls.png)
<br>
<br>
#### 3. ๋ฉ์์ง & URL ๋ฐ๊ฟ์น๊ธฐ
#### 1) ์ฐธ์กฐ ์ฌํญ
![](https://i.imgur.com/FVeJd5h.png)
<br>
<br>
#### 2) ๋ฉ์์ง๋ url ์ด console ์ ์ ์ฐํ๋์๋์ง ํ์ธ โญโญโญ
``` js
$.ajax({
type: "GET",
url: "http://spartacodingclub.shop/sparta_api/rtan",
data: {},
success: function (response) {
let url = response['url']
let msg = response['msg']
console.log(msg, url)
}
})
- ์ด ๊ณผ์ ์ ์ถ์ํ ์์ผ๋ณด๋ฉด?
- ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณ์์ ๋ด์์ ๋ -> ์ฐ์ด์ ํ์ธํด๋ณด๋ผ?
- ๊ฒฐ๊ณผ๋ฌผ
3) console ์์ ์ ๋์ค๋๊ฑธ -> attr
, text
ajax ํจ์ ํ์ฉํด์ ๋ฐ๊ฟ์น๊ธฐ ํ๊ธฐ
#ajax_attr_textํ์ฉ_๋ฐ๊ฟ์น๊ธฐ_์์ ์ฝ๋
์์ ์ฝ๋ ๐
function q1() { // ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ธ์ $.ajax({ type: "GET", url: "http://spartacodingclub.shop/sparta_api/rtan", data: {}, success: function (response) { let url = response['url'] let msg = response['msg'] $('#img-rtan').attr('src', url) $('#text-rtan').text(msg) } }) }
- ๊ฒฐ๊ณผ๋ฌผ
๐ญ What i learned
- '๊ทธ๋ฌ๋ฉด, ์ด๋ฒ ๊ณผ์ ์์ ์ฌ์ฉํ๋ ajax ๋? โญโญโญโญโญ' ์ด๋ฐ ๊ด์ ์์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ฅผ ํด๋ณด๋ฉด ๋๋ค.
- '๋ฐ๊ฟ์น๊ธฐ' ๋ฅผ ํ๋ ค๋ฉด
- ์ฝ๋ ๊ด๋ฆฌ๋ฅผ
์์ ์ฝ๋
->์ฐธ์กฐ์ฝ๋
์ด๋ ๊ฒ ๊ด๋ฆฌ๋ฅผ ํด์ผ ํ๋?- ์ฐธ์กฐํ ๋๋,
1) ์ด๋๋ฅผ ๋ฐ๊ฟ์ผ ํ๋์ง ๋ฑ์ ๊น๋ํ๊ฒ ๊ธฐ์ฌํ๋ฉด ์ข์๊ฑฐ ๊ฐ์๋ฐ?
2) ํ๊ทธ ๋ฌ ๋ ๊ท์น์ด ์์ผ๋ฉด ์ข์ ๋ฏ. ex) ๊ธฐ์ hierarchy _์ง๊ด์ ์ธ์ค๋ช _์์ ํ๊ทธor์ฐธ์กฐํ๊ทธor์ด๋ฆํต์ผ?
- ์ฐธ์กฐํ ๋๋,
728x90
๋ฐ์ํ
'[WEB & AI] (feat. ์ทจ์ค) > ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ_์น๊ฐ๋ฐ์ข ํฉ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3-1_3์ฃผ์ฐจ ์ค์น (feat. ํ์ด์ฌ, git bash) (0) | 2023.10.08 |
---|---|
2-11_2์ฃผ์ฐจ ๋ & ์์ ์ค๋ช (0) | 2023.10.06 |
2-9_Quiz_Ajax ์ฐ์ตํ๊ธฐ(1) (2) | 2023.10.06 |
2-8_Ajax ํจ๊ป ์ฐ์ตํ๊ธฐ (0) | 2023.10.06 |
2-7_Ajax ์์ํ๊ธฐ (0) | 2023.10.06 |
Comments