Javascript | AJAX

๐Ÿš€ยท2021๋…„ 9์›” 14์ผ
0

javascript

๋ชฉ๋ก ๋ณด๊ธฐ
9/9
post-thumbnail

AJAX๋ž€?


Asynchronous Javascript And XML
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๋น„๋™๊ธฐ์ ์œผ๋กœ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ๋ฐฉ์‹

  • ๋น„๋™๊ธฐ์  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋™์ž‘์„ ํ•˜๋Š” ๊ธฐ์ˆ ๋“ค์„ ํ†ตํ‹€์–ด AJAX๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์ง€ ์•Š๊ณ ๋„ ํŽ˜์ด์ง€ ์ผ๋ถ€๋งŒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์›นํŽ˜์ด์ง€๊ฐ€ ๋ฐ˜ํ™˜๋˜๋ฉด ์ „์ฒด๋ฅผ ๊ฐฑ์‹ ํ•ด์•ผํ•˜๋Š”๋ฐ, ์ด ๋•Œ AJAX๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽ˜์ด์ง€ ์ผ๋ถ€๋งŒ์„ ๊ฐฑ์‹ ํ•˜๊ณ ๋„ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐฑ์‹ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋กœ๋“œํ•˜์—ฌ ๊ฐฑ์‹ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ํ™”๋ฉดํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • AJAX๋ผ๋Š” ๊ธฐ์ˆ ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ์ˆ ์ด ํ˜ผํ•ฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด ์ด๋ฃจ์–ด์ง„๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋ก  HTML, DOM, Javascript, XMLHttpRequest๋“ฑ์ด ์žˆ๋‹ค. AJAX๋ผ๋Š” ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋Œ๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ธฐ์กด์˜ XHR๊ฐ์ฒด๋ฅผ ์ด์šฉํ•œ AJAX๋Š” ๋ณต์žกํ•˜๊ธฐ๋„ ํ•˜๋ฉฐ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด fetch API๋กœ ES6 ์—์„œ ํ‘œ์ค€์ด ๋˜์—ˆ๋‹ค. fetch๋Š” ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ Promise๋ฅผ ๊ฐ€์ง„๋‹ค.
  • fetch๋Š” axios์™€ ๋‹ฌ๋ฆฌ ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋ผ์žˆ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด Axios๋ž€ ๋ฌด์—‡์ผ๊นŒ?

Axios๋Š” ๋ธŒ๋ผ์šฐ์ €, node.js์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๋ฏธ์Šค API๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋น„๋™๊ธฐํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. fetch์™€ ๋‹ค๋ฅด๊ฒŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ์„œ installํ•ด์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ณ  ๋ณ„๋„์˜ import๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋ฉฐ ์‘๋‹ต์‹œ๊ฐ„ ์„ค์ •์„ ์ง€์›ํ•˜๊ณ  json ์ž๋™ ๋ณ€ํ™˜์ด ์ง€์›๋œ๋‹ค.


๐Ÿ“š ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๋ธ”๋กœ๊ทธ

XMLHttpRequest๊ณผ Fetch ๊ตฌํ˜„ ์˜ˆ์ œ

0๊ฐœ์˜ ๋Œ“๊ธ€