For Beginners

[AJAX] Asynchronous Javascript and XML ๊ธฐ์ดˆ - 2 ๋ณธ๋ฌธ

2021๋…„ ์ž๋ฃŒ/WEB

[AJAX] Asynchronous Javascript and XML ๊ธฐ์ดˆ - 2

.log 2021. 3. 9. 13:00
728x90

๐Ÿ‘‰ AJAX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?

     ํ™”๋ฉด ์ „ํ™˜, ํ™”๋ฉด ๊ฐฑ์‹ ์ด ์—†๋Š” ๊ฒƒ์€ JavaScript์˜ ํŠน์„ฑ.

     JavaScript๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ (์ ‘์€๊ธ€)

๋”๋ณด๊ธฐ

๐Ÿ‘‰ JavaScript

     HTML ๋ฌธ์„œ ๋‚ด์—์„œ ๋™์  ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ. 

          1. ํŽ˜์ด์ง€ ์กฐ์ž‘

          2. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

<div id="d1"> ์—ฌ๊ธฐ ์˜์—ญ์ด innerHTML </div>
<script>
	var data = "ํ™๊ธธ๋™";
    d1.innerHTML = data;
</script>

     ๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” ํ™”๋ฉด ์ „ํ™˜์„ ์œ„ํ•ด์„œ AJAX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

     ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์— ์ ํ•ฉํ•œ ๋ฐ์ดํ„ฐ์ธ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ์„œ๋ฒ„์— ๋„˜๊ธฐ๊ธฐ ์ „์— ์‚ฌ์ „ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰.

     ์„œ๋ฒ„์—์„œ๋„ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•˜์ง€๋งŒ, ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋„ ํ•„์š”ํ•˜๋‹ค.

     ํŽ˜์ด์ง€ ์กฐ์ž‘์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌธ์„œ ์•ˆ์— ์žˆ์œผ๋ฉด JavaScript

     ํŽ˜์ด์ง€ ์กฐ์ž‘์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌธ์„œ ๋ฐ–์— ์žˆ์œผ๋ฉด AJAX

     GET/POST์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„œ์ˆ ํ•˜๊ฑฐ๋‚˜, ํŠน์ง•์„ ์ •๋ฆฌํ•ด๋‘˜ ๊ฒƒ!

 

   โ—พ  ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์œ ๋…ํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ

  1. ๋‚ด๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์žˆ๋‹ค๋ฉด ===> Client (์œ ์ €)
  2. ๋‚ด๊ฐ€ ์ดํด๋ฆฝ์Šค๋ฅผ ์—ด๊ณ  ์žˆ๋‹ค๋ฉด ===> Server(๊ฐœ๋ฐœ์ž)

๐Ÿ‘‰ AJAX(Asynchronous JavaScript and XML)

     ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ

     ๋น„๋™๊ธฐ ์„œ๋ฒ„ ํ†ต์‹ 

     ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์„œ๋ฒ„์—์„œ ํ™•์ธํ•˜์—ฌ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ตํ•˜๋Š” ๊ณผ์ •์ด ๋น„๋™๊ธฐ์ .

     HTML์„ ํ‘œํ˜„ํ•˜๋Š” ํ…์ŠคํŠธ๋ฅผ ์ „๋‹ฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

  •  ์กฐ์ž‘์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์— ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  •  ajax์˜ ์š”์ฒญ ํŽ˜์ด์ง€๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ณด์—ฌ์ง€๋Š” ์ „์ฒด ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ, ํŠน์ • ์˜์—ญ์ธ ๋ถ€๋ถ„ HTML์ด๋‹ค.

๐Ÿ‘‰ XMlHttpRequest

     ์„œ๋ฒ„ ํ†ต์‹  ๊ฐ์ฒด

     XMLHttpRequest๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์—๊ฒŒ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

     AJAX๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์™€ ๊ฐ™๋‹ค.(๋น„๋™๊ธฐ์ ์œผ๋กœ ์„œ๋ฒ„ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด)

     onreadystatechange : ์ด๋ฒคํŠธ ์†์„ฑ (readyState ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ์˜ ์ด๋ฒคํŠธ)

     ์•„๋ž˜ ๊ทธ๋ฆผ์€ readyState ๊ฐ’์„ ์ •๋ฆฌํ•œ ๊ทธ๋ฆผ์ด๋‹ค.

status ์„œ๋ฒ„์˜ ์ƒํƒœ
200 ์ •์ƒ ์ƒํƒœ
403 ์š”์ฒญ ๊ถŒํ•œ ์—†์Œ
404 ์š”์ฒญ ํŽ˜์ด์ง€ ์—†์Œ
405 ์š”์ฒญํ•œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์ค€๋น„๋˜์ง€ ์•Š์•˜์Œ(doGet, doPost)
500 ์š”์ฒญํ•œ ํŽ˜์ด์ง€๊ฐ€ ์„œ๋ฒ„์—์„œ ์‹คํ–‰ ์ค‘์— ์—๋Ÿฌ ๋ฐœ์ƒ
open('HTTP์š”์ฒญ๋ฐฉ์‹'. '์š”์ฒญURL'. '๋น„๋™๊ธฐ๋ฐฉ์‹')
send('์š”์ฒญURL์— ์ „๋‹ฌํ•  ๋ฐ์ดํ„ฐ')

 

๐Ÿ‘‰ Ajax ํ•ต์‹ฌ ์ฝ”๋“œ

ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„
JavaScript JSP, Servlet(์ž๋ฐ”)
๋ฐ์ดํ„ฐ ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ค€๋น„, ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ
1. open(URL ์š”์ฒญ๊ณผ get ๋ฐฉ์‹์˜ ๋ฐ์ดํ„ฐ)  ํด๋ผ์ด์–ธํŠธ ------> ์„œ๋ฒ„
2. send(post๋ฐฉ์‹์˜ ๋ฐ์ดํ„ฐ) ํด๋ผ์ด์–ธํŠธ ------> ์„œ๋ฒ„
3. responseText ๋˜๋Š” responseXML ํด๋ผ์ด์–ธํŠธ <------ ์„œ๋ฒ„

     โœ” ํ•ด๋‹น ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ๋Š”, new XMLHttpRequest(); ๋ฅผ ๊ผญ!! ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

๐Ÿ‘‰ JSP

     jsํŒŒ์ผ๊ณผ ๊ฐ™์œผ๋‚˜, java์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค.

 

๐Ÿ‘‰ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€

      www.w3schools.com/

Comments