TIL/Ajax

Ajax λ™μž‘ 원리

hanna🐀 2022. 1. 24. 16:37
728x90

# Ajax κ΅¬μ„±μš”μ†Œ

기쑴에 μ‚¬μš©λ˜λ˜ μ—¬λŸ¬ κΈ°μˆ μ„ ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬, μ›Ή γ…μ΄μ§€μ˜ μΌλΆ€λΆ„λ§Œμ„ κ°±μ‹ ν•  수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” 개발 기법이닀.

Ajaxμ—μ„œ μ‚¬μš©ν•˜λŠ” κΈ°μ‘΄ κΈ°μˆ μ„ λ‹€μŒκ³Ό κ°™λ‹€.

  • μ›Ή νŽ˜μ΄μ§€μ˜ ν‘œν˜„μ„ μœ„ν•œ HTMLκ³Ό CSS
  • 데이터에 μ ‘κ·Όν•˜κ±°λ‚˜ ν™”λ©΄ ꡬ성을 λ™μ μœΌλ‘œ μ‘°μž‘ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” DOMλͺ¨λΈ
  • λ°μ΄ν„°μ˜ κ΅ν™˜μ„ μœ„ν•œ JSONμ΄λ‚˜ XML
  • μ›Ή μ„œλ²„μ™€μ˜ 비동기식 톡신을 μœ„ν•œ XMLHttpRequest 객체
  • μœ„μ—μ„œ μ–ΈκΈ‰ν•œ λͺ¨λ“  κΈ°μˆ μ„ κ²°ν•©ν•˜μ—¬ μ‚¬μš©μžμ˜ μž‘μ—… 흐름을 μ œμ–΄ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” JS

# Ajax λ™μž‘μ›λ¦¬

  • Ajaxλ₯Ό μ΄μš©ν•œ μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨μ€ JS μ½”λ“œλ₯Ό 톡해 μ›Ή μ„œλ²„μ™€ 톡신을 ν•˜κ²Œ λ˜μ–΄ μžˆλ‹€.
  • λ”°λΌμ„œ μ‚¬μš©μžμ˜ λ™μž‘μ—λŠ” 영ν–₯을 μ£Όμ§€ μ•Šκ³ , λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ§€μ†ν•΄μ„œ μ„œλ²„μ™€ 톡신할 수 μžˆλ‹€.

λ‹€μŒ 그림은 Ajaxλ₯Ό μ΄μš©ν•œ μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό 기쑴의 μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ λ™μž‘ 원리λ₯Ό κ°„λž΅νžˆ 보여주고 μžˆλ‹€.

 

λ™μž‘μ›λ¦¬

μ™Όμͺ½ 그림의 Ajaxλ₯Ό μ΄μš©ν•œ λ™μž‘μ›λ¦¬λŠ” λ‹€μŒκ³  같은 μˆœμ„œλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€.

  1. μ‚¬μš©μžμ— μ˜ν•œ μš”μ²­ μ΄λ²€νŠΈκ°€ λ°œμƒν•©λ‹ˆλ‹€.
  2. μš”μ²­ μ΄λ²€νŠΈκ°€ λ°œμƒν•˜λ©΄ 이벀트 ν•Έλ“€λŸ¬μ— μ˜ν•΄ μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ ν˜ΈμΆœλ©λ‹ˆλ‹€.
  3. μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” XMLHttpRequest κ°γ…Šλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ²„λ‘œ μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.
    • μ΄λ•Œ μ›Ή λΈŒλΌμš°μ €λŠ” μš”μ²­μ„ 보내고 λ‚˜μ„œ, μ„œλ²„μ˜ 응닡을 기닀릴 ν•„μš” 없이 λ‹€λ₯Έ μž‘μ—…μ„ μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. μ„œλ²„λŠ” 전달받은 XMLHttpRequest 객체λ₯Ό κ°€μ§€κ³  Ajaxμš”μ²­μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  5. 6. μ„œλ²„λŠ” μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό HTML, XML λ˜λŠ” JSONν˜•νƒœμ˜ λ°μ΄ν„°λ‘œ μ›Ή λΈŒλΌμš°μ €μ— μ „λ‹¬ν•©λ‹ˆλ‹€.
    • μ΄λ•Œ μ „λ‹¬λ˜λŠ” 응닡은 μƒˆλ‘œμš΄ νŽ˜μ΄μ§€λ₯Ό μ „λΆ€ λ³΄λ‚΄λŠ” 것이 μ•„λ‹ˆλΌ ν•„μš”ν•œ λ°μ΄ν„°λ§Œμ„ μ „λ‹¬ν•©λ‹ˆλ‹€.

7.  μ„œλ²„λ‘œλΆ€ν„° 전달받은 데이터λ₯Ό κ°€μ§€κ³  μ›Ή νŽ˜μ΄μ§€μ˜ μΌλΆ€λΆ„λ§Œμ„ κ°±μ‹ ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.

8. 결과적으둜 μ›Ή νŽ˜μ΄μ§€μ˜ μΌλΆ€λΆ„λ§Œμ΄ λ‹€μ‹œ λ‘œλ”©λ˜μ–΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

 

 

 

 

 

 

 

 

좜처: tcpschool.com

 

μ½”λ”©κ΅μœ‘ ν‹°μ”¨ν”ΌμŠ€μΏ¨

4μ°¨μ‚°μ—…ν˜λͺ…, μ½”λ”©κ΅μœ‘, μ†Œν”„νŠΈμ›¨μ–΄κ΅μœ‘, μ½”λ”©κΈ°μ΄ˆ, SWμ½”λ”©, κΈ°μ΄ˆμ½”λ”©λΆ€ν„° μžλ°” 파이썬 λ“±

tcpschool.com

728x90

'TIL > Ajax' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Ajax 기초  (0) 2022.01.24