Search
Duplicate

$.ajax

jQuery AJAX

β€’
jQuery ajax κ°œλ°œλ¬Έμ„œ

AJAXλž€?

β€’
AJAX (Asynchronous JavaScript and XML)
νŽ˜μ΄μ§€ μƒˆλ‘œκ³ μΉ¨ 없이 μ„œλ²„μ™€ 데이터λ₯Ό μ£Όκ³ λ°›λŠ” 기술
핡심 포인트
μš”μ²­ β†’ 응닡이 였기λ₯Ό 기닀리지 μ•Šκ³ λ„ 화면은 계속 λ™μž‘ν•œλ‹€ (비동기)

jQuery AJAX μ£Όμš” λ©”μ†Œλ“œ

$.ajax()

β€’
κ°€μž₯ 기본이 λ˜λŠ” λ©”μ†Œλ“œ
β€’
λͺ¨λ“  HTTP λ©”μ†Œλ“œ μ‚¬μš© κ°€λŠ₯ (GET, POST, PUT, DELETE)

단좕 λ©”μ†Œλ“œ

λ©”μ†Œλ“œ
μ„€λͺ…
$.get()
GET μš”μ²­
$.post()
POST μš”μ²­
$.getJSON()
JSON 데이터 μš”μ²­
μ‹€λ¬΄μ—μ„œλŠ” $.ajax()λ₯Ό κ°€μž₯ 많이 μ‚¬μš©

$.ajax μ£Όμš” 속성 ()

속성
μ„€λͺ…
url
μš”μ²­ν•  μ„œλ²„ μ£Όμ†Œ
method, type
HTTP λ©”μ†Œλ“œ (GET, POST, PUT, DELETE)
data
μ„œλ²„λ‘œ 보낼 데이터
contentType
μš”μ²­ 데이터 νƒ€μž…
dataType
응닡 데이터 νƒ€μž…
success
μš”μ²­ 성곡 μ‹œ μ‹€ν–‰ ν•¨μˆ˜
error
μš”μ²­ μ‹€νŒ¨ μ‹œ μ‹€ν–‰ ν•¨μˆ˜
complete
success, error ν•¨μˆ˜ 호좜 ν›„ μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜

κΈ°λ³Έ μ‹œμž‘ μ½”λ“œ

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> <script> $.ajax({ url: '/api/boards', method: 'GET', success: function(response) { console.log(response); }, error: function(error) { console.error(error); } }); </script>
HTML
볡사

REST API μ˜ˆμ‹œ ꡬ쑰

/api/boards
Plain Text
볡사
λ©”μ†Œλ“œ
의미
μ„€λͺ…
GET
쑰회
κ²Œμ‹œκΈ€ λͺ©λ‘ 쑰회
POST
등둝
κ²Œμ‹œκΈ€ 생성
PUT
μˆ˜μ •
κ²Œμ‹œκΈ€ μˆ˜μ •
DELETE
μ‚­μ œ
κ²Œμ‹œκΈ€ μ‚­μ œ

μš”μ²­ μ˜ˆμ‹œ & μ„€λͺ…

1. GET : κ²Œμ‹œκΈ€ λͺ©λ‘ 쑰회

$.ajax({ url: '/api/boards', method: 'GET', dataType: 'json', success: function(data) { console.log('κ²Œμ‹œκΈ€ λͺ©λ‘', data); } });
JavaScript
볡사
μ„€λͺ…
β€’
μ„œλ²„μ—μ„œ κ²Œμ‹œκΈ€ λͺ©λ‘μ„ 쑰회
β€’
dataλŠ” JSON λ°°μ—΄ ν˜•νƒœ

2. POST : κ²Œμ‹œκΈ€ 등둝

$.ajax({ url: '/api/boards', method: 'POST', contentType: 'application/json', data: JSON.stringify({ title: 'AJAX 제λͺ©', content: 'AJAX λ‚΄μš©' }), success: function(result) { alert('등둝 성곡'); } });
JavaScript
볡사
μ„€λͺ…
β€’
JSON.stringify() β†’ 객체λ₯Ό JSON λ¬Έμžμ—΄λ‘œ λ³€ν™˜
β€’
contentType λ°˜λ“œμ‹œ μ§€μ •

3. PUT : κ²Œμ‹œκΈ€ μˆ˜μ •

$.ajax({ url: '/api/boards/1', method: 'PUT', contentType: 'application/json', data: JSON.stringify({ no: 1, title: 'μˆ˜μ •λœ 제λͺ©', content: 'μˆ˜μ •λœ λ‚΄μš©' }), success: function(result) { alert('μˆ˜μ • μ™„λ£Œ'); } });
JavaScript
볡사
μ„€λͺ…
β€’
URL에 κ²Œμ‹œκΈ€ ID 포함
β€’
전체 데이터 μˆ˜μ •

4. DELETE : κ²Œμ‹œκΈ€ μ‚­μ œ

$.ajax({ url: '/api/boards/1', method: 'DELETE', success: function(result) { alert('μ‚­μ œ μ™„λ£Œ'); } });
JavaScript
볡사
μ„€λͺ…
β€’
μ„œλ²„μ— μ‚­μ œ μš”μ²­
β€’
보톡 응닡 λ°μ΄ν„°λŠ” μ—†μŒ