Hamutaro - Hamtaro 4

Frontend/JavaScript

[JavaScript] Ajax ๋น„๋™๊ธฐ ํ†ต์‹ ์— ๋Œ€ํ•ด์„œ

carsumin 2023. 3. 23. 20:59

 

Ajax๋ž€?
  • Ajax๋Š” Asynchronous JavaScript and XML์˜ ์•ฝ์ž๋กœ, ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ด
  • ์ฆ‰, ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ์—†์ด ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์›น๊ฐœ๋ฐœ ๊ธฐ์ˆ 
  • ์›น ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์ด๋‚˜ ํด๋ฆญ ๋“ฑ์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์ง€ ์•Š๊ณ  ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ฐ€์ ธ์™€์„œ ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ
๋น„๋™๊ธฐ ํ†ต์‹ 
  • ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์ „์†กํ•  ๋•Œ, ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹
  • ์‘๋‹ต์ด ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‘๋‹ต์ด ์˜ฌ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Œ
  • ์ผ๋ฐ˜์ ์œผ๋กœ Ajax ์š”์ฒญ์ด๋‚˜ WebSocket๊ณผ ๊ฐ™์€ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์— ์‚ฌ์šฉ
Ajax์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• (jQuery)
$.ajax({
  url: "์š”์ฒญ์„ ๋ณด๋‚ผ URL",
  type: "HTTP ์š”์ฒญ ๋ฐฉ์‹",
  data: "์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ",
  dataType: "์„œ๋ฒ„์—์„œ ๋ฐ›์„ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹",
  success: function(response) {
    // ์„ฑ๊ณต์ ์œผ๋กœ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ–ˆ์„ ๋•Œ ์‹คํ–‰ํ•  ํ•จ์ˆ˜
  },
  error: function(jqXHR, textStatus, errorThrown) {
    // ์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰ํ•  ํ•จ์ˆ˜
  }
});