์๋ฒ๋ก ์์ฒญํ๊ธฐ
- ์๋ฒ๋ก ์์ฒญ์ ํ ๋์๋ XMLHttpRequest๊ฐ์ฒด์์ ์ ๊ณตํ๋ open(), send() ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ๋ค์ด, ์๋์ฒ๋ผ ์ฌ์ฉํฉ๋๋ค.
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "URL", true);
xhttp.send();
์ด๋ฐ ์์ผ๋ก ๋ง์ด์ฃ .
์ด๋ open()๊ณผ send()์ ๋ฉ์๋ ์ค๋ช ์ ์๋์ ๊ฐ์ต๋๋ค.
๋ฉ์๋ | ์ค๋ช |
---|---|
open(method, url, async) | ์์ฒญ ํ์
์ ์ ํฉ๋๋ค. method: ์์ฒญ ํ์ : GET ๋๋ POST url: ์๋ฒ (ํ์ผ) ์์น async: true (๋น๋๊ธฐ์) ๋๋ false (๋๊ธฐ์) |
send() | ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ธ๋ค (GET๋ฐฉ์์์ ์ฌ์ฉ) |
send(string) | ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ธ๋ค (POST๋ฐฉ์์์ ์ฌ์ฉ) |
GET ๋ฐฉ์๊ณผ POST๋ฐฉ์
GET ์ POST๋ณด๋ค ๋จ์ํ๊ณ ๋น ๋ฅด๋ฉฐ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์๋ ๊ฒฝ์ฐ์๋ ๊ผญ POST๋ฐฉ์์ผ๋ก ์จ์ผํฉ๋๋ค:
- A cached file is not an option (์๋ฒ์ ์๋ ํ์ผ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ).
- ์๋ฒ๋ก ๋ง์ ์์ ๋ฐ์ดํฐ ์ ์ก์ด ํ์ํ ๊ฒฝ์ฐ (GET๋ฐฉ์์ ์ ์กํ ๋ฐ์ดํฐ ์ฌ์ด์ฆ ์ ํ์ด ์์ผ๋ POST ๋ฐฉ์์ ์ฌ์ด์ฆ ์ ํ์ด ์์ต๋๋ค).
- (unknown characters๋ฅผ ํฌํจํ ์ ์๋) ์ฌ์ฉ์ input์ ์๋ฒ๋ก ์ ์กํ ๋ , POST ๋ฐฉ์์ด ๋ณด์์ GET๋ฐฉ์๋ณด๋ค ์ข์ต๋๋ค.
GET Requests
๊ฐ๋จํ GET ์์ฒญ:
์์ 1
xhttp.open("GET", "demo_get.asp", true);
xhttp.send();
์ ์์ ์์๋ ์ด๋ฏธ ์บ์ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์๋ ์์ต๋๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ฅผ ํผํ๋ ค๋ฉด, ์ ๋ํฌ ID๋ฅผ URL์ ๋ฃ์ด์ฃผ์ ์ผ ํฉ๋๋ค.
์์ 2
xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);
xhttp.send();
GET ๋ฐฉ์์ผ๋ก ์์ฒญ์ ๋ณด๋ด๊ณ ์ถ์ผ์๋ฉด, ์ ๋ณด๋ฅผ URL์ ์ ๋ ฅํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
์์ 3
xhttp.open("GET", "demo_get2.asp?fname=Henry&lname=Ford", true);
xhttp.send();
POST Requests
๊ฐ๋จํ POST ์์ฒญ:
์์ 1
xhttp.open("POST", "demo_post.asp", true);
xhttp.send();
HTML ํ์์ผ๋ก POST ์์ฒญ์ ํ๋ ค๋ฉด, setRequestHeader()๋ฅผ ์ด์ฉํ์ฌ HTTP ํค๋ ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ send() ๋ฉ์๋์ ๋ณด๋ด๋ ค๋ ๋ฐ์ดํฐ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
์์ 2
xhttp.open("POST", "ajax_test.asp", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Henry&lname=Ford");
The url - ์๋ฒ ์์ ํ์ผ ์ฃผ์
open() ๋ฉ์๋์ url ํ๋ผ๋ฏธํฐ๋ ์๋ฒ์ ์์นํ ํ์ผ์ ์ฃผ์์ ๋๋ค.
xhttp.open("GET", "ajax_test.asp", true);
์ฌ๊ธฐ์ ๋งํ๋ ํ์ผ์ .txt, .xml ํ์ผ์ฒ๋ผ ํ๋ฒํ ํ์ผ๋ค, ๋๋ .asp, .php ์ ๊ฐ์ ์๋ฒ์คํฌ๋ฆฝํ ํ์ผ์ ๋๋ค. (์๋ฒ์คํฌ๋ฆฝํ ํ์ผ๋ค์ ์๋ฒ์์ ์๋ต์ ๋ณด๋ด๊ธฐ ์ ์ ํน์ ์ผ์ ์ํํ ์ ์์ต๋๋ค.).
๋น๋๊ธฐ์ - True or False?
ajax๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด 3๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ๋ฌด์กฐ๊ฑด true์ฌ์ผ ํฉ๋๋ค.
xhttp.open("GET", "ajax_test.asp", true);
Async=true
์์
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
Async=false
xhttp.open("GET", "ajax_info.txt", false);
async=false ๋ก ์ฌ์ฉํ๊ฒ๋๋ฉด ๋์ด์ AJAX๋ฅผ ์ฌ์ฉํ๋๊ฒ ์๋๊ฒ ๋์ด๋ฒ๋ฆฝ๋๋ค. ์ด๋ ๊ฒ ์๋ฒ๋ก ์์ฒญ์ ํ๊ฒ๋๋ฉด ์๋ฒ์์ ์๋ต์ด ์ค๊ธฐ ์ ๊น์ง ํ๋ฉด์์ ์๋ฌด๊ฒ๋ ํ ์ ์๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค.
์์
xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;
'๐ป Programming > ์นํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AJAX๋? - ์ด๋ฒคํธ ์ข ๋ฅ (0) | 2016.06.12 |
---|---|
AJAX๋? - ์๋ฒ๋ก๋ถํฐ ์๋ต๋ฐ๊ธฐ (0) | 2016.06.12 |
Ajax ๋? - Ajax ์์ํ๊ธฐ (1) | 2016.06.12 |
[jQuery] 2. jQuery Basics ( ๊ธฐ๋ณธ ) (0) | 2015.08.06 |
[jQuery] 1. jQuery ์์ํ๊ธฐ (0) | 2015.08.06 |