๊ด€๋ฆฌ ๋ฉ”๋‰ด

bom's happy life

[AJAX] Ajax๋ž€? ๋ณธ๋ฌธ

Deveolpment Study๐Ÿ—‚๏ธ/AJAX

[AJAX] Ajax๋ž€?

bompeach 2023. 7. 25. 14:52

Ajax๋ž€?

 

- Ajax๋ž€, ๋น„๋™๊ธฐ ๋ฐฉ์‹์˜ javascript์™€ XML์„ ์˜๋ฏธํ•œ๋‹ค.

- ๋™๊ธฐ ๋ฐฉ์‹๊ณผ ๋น„๋™๊ธฐ ๋ฐฉ์‹์˜ ์ฐจ์ด์  : ๋™๊ธฐ ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ๋Š” ์„œ๋ฒ„์— ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒˆ์„ ๋•Œ ์‘๋‹ต์ด ๋Œ์•„์™€์•ผ ๋‹ค์Œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋น„๋™๊ธฐ ๋ฐฉ์‹์€ ๊ทธ์™€ ๋ฐ˜๋Œ€๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒˆ์„ ๋•Œ ์‘๋‹ต ์ƒํƒœ์™€ ์ƒ๊ด€ ์—†์ด ๋‹ค์Œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

- Ajax๋ฅผ ์ด์šฉํ•˜๋Š” ๋ชฉ์ ์€ ํ™”๋ฉด ์ „ํ™˜ ์—†์ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ XML, JSON,ํ…์ŠคํŠธ,(X)HTML ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

- Ajax๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฐฉ๋ฌธ๊ฐ์ด ๋ณด๋Š” ์ปดํ“จํ„ฐ์—์„œ ์„œ๋ฒ„์— ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•  ๋•Œ ํ™”๋ฉด ์ „ํ™˜ ์—†์ด ์š”์ฒญํ•œ ์ž๋ฃŒ๋ฅผ ์ „์†ก ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

- ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•˜๋ฉด ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š”๋ฐ, Ajax๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฐฉ๋ฌธ๊ฐ์ด ๊ธฐ๋‹ค๋ฆด ํ•„์š” ์—†์ด ๋‹ค๋ฅธ ์ž‘์—…์„ ๋ฐ”๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

[Ajax ํŠน์ง•] 

- ์›น ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ๋กœ๋”ฉํ•˜์ง€ ์•Š๊ณ ๋„ ์›น ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋ถ„๋งŒ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์›น ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋œ ํ›„์— ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

- ์›น ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋œ ํ›„์— ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

- ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์˜์—ญ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

- ์ˆœ์ˆ˜ js๋ฅผ ์ด์šฉํ•œ ajax๋Š” ๋ธŒ๋ผ์šฐ์ € ๋งˆ๋‹ค ์‚ฌ์šฉ๋ฒ•์ด ๋‹ฌ๋ผ ๋ธŒ๋ผ์šฐ์ € ๋งˆ๋‹ค ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์–ด๋ ค์›€์ด ์žˆ๋‹ค.

- ์ œ์ด์ฟผ๋ฆฌ ajax์˜ ๊ฒฝ์šฐ $.ajax()ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋Œ์•„๊ฐ€๋„๋ก ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

- $.ajax()๋กœ ๋ชจ๋“  ajaxํ˜•ํƒœ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

[Ajax ์‚ฌ์šฉ ์ „ ๋ฐฉ์‹]

- Ajax ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ์—๋Š”, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋ฅผ ๊ฑฐ์ณ์•ผ๋งŒ ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

- ์ด ๋ฐฉ์‹์œผ๋กœ ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•˜๋ฉด, ์ž ์‹œ ํŽ˜์ด์ง€๊ฐ€ ์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ ํŽ˜์ด์ง€๋กœ ๊ฐฑ์‹ ๋˜์–ด ํ™”๋ฉด์ด ๊นœ๋นก๊ฑฐ๋ฆฌ๊ณ , ๊ทธ๋™์•ˆ ์‚ฌ์šฉ์ž๋Š” ์–ด๋–ค ์ž‘์—…๋„ ํ•  ์ˆ˜ ์—†๊ฒŒ๋œ๋‹ค.

 

[Ajax ์‚ฌ์šฉ ํ›„ ๋ฐฉ์‹]

- Ajax๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฉ๋ฌธ์ž๊ฐ€ ์„œ๋ฒ„์— ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ–ˆ์„ ๊ฒฝ์šฐ, ์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ ํŽ˜์ด์ง€๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ์ž๋ฃŒ๋ฅผ ๋ฐ›์•„ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

- ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•˜๋Š” ์‚ฌ์ด์—๋„ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์นดํŽ˜๋‚˜ ๋ธ”๋กœ๊ทธ์˜ ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€์„ ๋‹ฌ ๋•Œ ํŽ˜์ด์ง€ ์ „ํ™˜์—†์ด ๋ฐ”๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋„ Ajax๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค.

- ํŽ˜์ด์Šค๋ถ์˜ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ๊ณผ ๊ตฌ๊ธ€ ์ง€๋„ ๋“ฑ์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

 


 

ajax ํ˜•์‹ ->

$.ajax({
    url: '์ ‘์†ํ•  ํŽ˜์ด์ง€ ์ฃผ์†Œ',
    type: '์ „์†ก ๋ฐฉ์‹ (GET / POST)',
    data: '์ „์†กํ•  ๋ฐ์ดํ„ฐ - ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฌธ์ž์—ด key=value&key=value',
    dataType: '์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹ (html / xml / json / jsonp)',
    timeout : '๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ๋‹จ์œ„ ์ œํ•œ์‹œ๊ฐ„',
    cache : '์ด์ „์š”์ฒญ์—๋Œ€ํ•œ ์บ์‰ฌ์ €์žฅ์—ฌ๋ถ€ (true=์‚ฌ์šฉํ•จ, false=์‚ฌ์šฉ์•ˆํ•จ)',
    succes: function(data){ 
        // ์ „์†ก์— ์„ฑ๊ณตํ•˜๋ฉด ์ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ (data ์—๋Š” ์‘๋‹ต๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค)
    },
    error: function(){
        // ์ „์†ก์— ์‹คํŒจํ•˜๋ฉด ์ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰
    }
});

-> url์—๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์š”์ฒญํ•  ์™ธ๋ถ€ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•จ.

-> type์—๋Š” ์ „์†ก ๋ฐฉ์‹์„ ์ž…๋ ฅํ•จ.

-> data์—๋Š” ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•จ.

-> dataType์€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ˜ํ™˜ ๋ฐ›์•„์˜ฌ ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์ง€์ •ํ•จ. ๋ฐ์ดํ„ฐ๊ฐ€ (X)HTML์ผ ๊ฒฝ์šฐ์—๋Š” "html", XML์ผ ๊ฒฝ์šฐ์—๋Š” "xml", JSON์ผ ๊ฒฝ์šฐ์—๋Š” "json"์ด๋ผ๊ณ  ์ž…๋ ฅ.

-> ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์š”์ฒญ์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉด ํ•จ์ˆ˜ ๋‚ด์˜ ์‹คํ–‰๋ฌธ์ด ์‹คํ–‰๋จ. ์ด๋•Œ ๋งค๊ฐœ ๋ณ€์ˆ˜(result)์—๋Š” ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋จ.

 

 

 

 

.

.

.

 

 

ํ›Œ๋ฅญํ•œ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ฐธ๊ณ 

https://starrykss.tistory.com/197

'Deveolpment Study๐Ÿ—‚๏ธ > AJAX' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[AJAX] ajax - controller ํ†ต์‹  / update ๊ธฐ๋Šฅ  (0) 2023.10.26
[AJAX] ๋น„๋™๊ธฐ ํ†ต์‹   (0) 2023.05.25
[AJAX] ๋Œ“๊ธ€๋‹ฌ๊ธฐ  (0) 2023.05.19