๐Ÿ–ฅ๏ธ Frontend_

[Web] ์›น ๊ฐœ๋ฐœ์—์„œ ๋™๊ธฐ ์š”์ฒญ๊ณผ ๋น„๋™๊ธฐ ์š”์ฒญ: GET, POST, ๊ทธ๋ฆฌ๊ณ  jQuery ํ™œ์šฉ๋ฒ•

CodeLoge 2025. 2. 27. 23:03

1. ๋™๊ธฐ ์š”์ฒญ vs ๋น„๋™๊ธฐ ์š”์ฒญ

โœด๏ธŽ ๋™๊ธฐ ์š”์ฒญ(GET)

: ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๋กœ๋“œํ•˜๋ฉด์„œ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹

:์š”์ฒญ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํŽ˜์ด์ง€๊ฐ€ ๋ฉˆ์ถ”๋ฉฐ, ์™„๋ฃŒ ํ›„ ํ™”๋ฉด์ด ์ƒˆ๋กœ ๋žœ๋”๋ง ๋จ

Ex) ์›นํˆฐ ํŽ˜์ด์ง€ ์ด๋™

 

โœด๏ธŽ ๋น„๋™๊ธฐ ์š”์ฒญ(POST)

: ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ , ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ํ•˜๋ฉด์„œ๋„ ํ™”๋ฉด์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ์‹

: ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์„œ๋ฒ„์— ์ „์†กํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹

Ex) ํšŒ์›๊ฐ€์ž…, ์‹ค์‹œ๊ฐ„ ์ง€๋„ ๊ฒ€์ƒ‰, ํฐ ๊ฒ€์ƒ‰

 

2. GET๊ณผ POST์˜ ์‚ฌ์šฉ ์ƒํ™ฉ

โœด๏ธŽ GET : URL์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ ์š”์ฒญ. ํŽ˜์ด์ง€ ์ด๋™์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ

โœด๏ธŽ POST : ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ํŽ˜์ด์ง€ ์ด๋™ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ›์Œ

Ex) ํšŒ์›๊ฐ€์ž… ํผ์„ ์ œ์ถœ ํ•  ๋•Œ, ๋น„๋™๊ธฐ์ ์œผ๋กœ ์„œ๋ฒ„์—์„œ 

 

3. jQuery๋ฅผ ํ™œ์šฉํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ

โœด๏ธŽ $.ajax{} ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ํ›„ UI๋ฅผ ๊ฐฑ์‹  ๊ฐ€๋Šฅ

โœด๏ธŽ jQuery๋Š” JavaScript์˜ ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•์„ ์ œ๊ณตํ•˜์—ฌ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์›€

 

4. ์›น ์„œ๋ฒ„์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ

โœด๏ธŽ Backend์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ @WebServlet์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

โœด๏ธŽ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

Ex) ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์•„์ด๋””๋ฅผ ์„œ๋ฒ„์—์„œ ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜์—ฌ "์•„์ด๋”” ์‚ฌ์šฉ ๊ฐ€๋Šฅ/๋ถˆ๊ฐ€"๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ

 

5. ๋น„๋™๊ธฐ ์š”์ฒญ์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ •๋ ฌ

โœด๏ธŽ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ์ด์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

Ex) ๊ธฐ๋ณธ SELECTALL ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์กฐ๊ฑด์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์กฐํšŒํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œ

 

์˜ˆ์ œ

$.ajax({
   type: "POST",
   url: "/day034/check",
   data: { mid: mid },
   dataType: "text",
   success: function(response) {
       console.log("๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์„ฑ๊ณต[" + response + "]");
       if (response == "true") {
           result.text("์•„์ด๋”” ์‚ฌ์šฉ ๊ฐ€๋Šฅ");
           result.css("color", "green");
       } else {
           result.text("์•„์ด๋”” ์‚ฌ์šฉ ๋ถˆ๊ฐ€");
       }
   },
   error: function() {
       console.error("๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์‹คํŒจ");
   }
});