๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
L'etude

Javascript : Ajax

by hxunz 2022. 5. 20.
๐Ÿงธ HTTP ํ†ต์‹ ์ด๋ž€?

 HTML ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ

 HTML(Hyper Text Markup Language)

 HTTP(Hyper Text Transfer Protocol) : HTML ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ๋ฌธ์„œ, HTML ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

 ํ”„๋กœํ† ์ฝœ์ด๋ž€? ์ผ์ข…์˜ ํ†ต์‹  ๊ทœ์•ฝ 

 

๐Ÿงธ Ajax๋ž€?

 Asynchronous Javascript And XML (์š”์ฆ˜์€ XML ๋ณด๋‹ค๋Š” JSON ์ด ๋” ์ž์ฃผ ์ด์šฉ๋œ๋‹ค)

๋น„๋™๊ธฐ์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ œ์ž‘์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์›น ๊ฐœ๋ฐœ ๊ธฐ๋ฒ•์ด๋‹ค. 

HTTP ํ†ต์‹ ์—์„œ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ๊ฐ„๋‹จํ•œ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ๋กœ ๋ฐ”๋กœ ์ผ์ข…์˜ XML์ด๋‚˜ JSON ํ˜•ํƒœ์˜ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๋™๊ธฐ ํ†ต์‹ 

 

๐Ÿงธ XMLHttpRequest

XMLHttpRequest ๊ฐ์ฒด๋Š” ์„œ๋ฒ„์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋œ๋‹ค.

์ „์ฒด ํŽ˜์ด์ง€์˜ ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด๋„ URL๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 

 

๐Ÿงธ Fetch

Fetch API๋Š” ๋„คํŠธ์›Œํฌ ๋™์‹ ์„ ํฌํ•จํ•œ ๋ฆฌ์†Œ์Šค ์ทจ๋“์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ •์˜๋˜์–ด์žˆ๋‹ค.

XMLHttpRequest ๋ณด๋‹ค ์ข€ ๋” ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

fetch('https://jsonplaceholder.typicode.com/posts/1')
	.then((reponse) => reponse.json())
  	.then((json) => console.log(json));

์ฒซ๋ฒˆ์งธ๋Š” URL fetch๋ฅผ ์š”์ฒญํ•œ๊ฑฐ๊ณ 

๋‘๋ฒˆ์งธ๋Š” Fetch ์‘๋‹ต ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์™”๋‹ค.

์‘๋‹ต ๊ฐ์ฒด๊ฐ€ JSON์œผ๋กœ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— => ์ˆœ์ˆ˜ JS ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ ํ•ด์ค˜์•ผํ•œ๋‹ค. 

 

๋„คํŠธ์›Œํฌ ํ†ต์‹  -> ๋„คํŠธ์›Œํฌ ํ†ต์‹ ํ•ด์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ -> JSON์œผ๋กœ ๋ณ€๊ฒฝ -> ์ด๊ฑธ ๋‹ค์‹œ JS ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜

 

๐Ÿงธ JSON

JavaScript Object Notation์€ ์†์„ฑ-๊ฐ’ ์Œ ๋˜๋Š” ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท์ด๋‹ค.

JSON Parse : JSON -> JS Object๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ  (์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ)

JSON stringify : JS Object -> JSON ๋กœ ๋ณ€ํ™˜ํ• ๋•Œ  (์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋•Œ)

'L'etude' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

vscode : npm i & npm ci ์ฐจ์ด  (0) 2022.05.23
Javascript : this  (0) 2022.05.23
Javacript : Scope ์Šค์ฝ”ํ”„  (0) 2022.05.19
Currying ์ปค๋ง  (0) 2022.05.18
๋งค์ง๋„˜๋ฒ„/๋งค์ง๋ฆฌํ„ฐ๋Ÿด  (0) 2022.05.18

๋Œ“๊ธ€