๋ฐ์ํ
// XMLHttpRequest ๊ฐ์ฒด ์์ฑ
var xmlHttpRequest = new XMLHttpRequest()
- XMLHttpRequest
Ajax์ ๊ฐ์ด ๋น๋๊ธฐ์ ์ผ๋ก ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ์์์ ์ฌ์ฉํ๋ API
์ ์ฒด ํ์ด์ง์ ์๋ก๊ณ ์นจ ์์ด๋ URL๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ์ ์์ต๋๋ค
// onreadystatechange ์ด๋ฒคํธ ํธ๋ค๋ฌ ์์ฑ
xmlHttpRequest.onreadystatechange = function(){
// ์๋ฒ์์ ๋ฌธ์๊ฐ ์กด์ฌํ๊ณ ์์ฒญํ ๋ฐ์ดํฐ ์๋ฒ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ด ์๋ตํ ์ค๋น ์๋ฃ
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
callbackFunction(0, xmlHttpRequest.responseText);
}else{
callbackFunction(xmlHttpRequest.status, xmlHttpRequest.statusText);
}
}
};
- XMLHttpRequest.onreadystatechange
readystate ์์ฑ์ด ๋ณ๊ฒฝ๋ ๋ ํธ์ถ ํ ํจ์๋ฅผ ์ ์ํฉ๋๋ค - XMLHttpRequest.readyState
์์ฒญ์ํ๋ฅผ unsigned short๋ก ๋ณํ
0: open() ์
1: ๋ก๋ฉ ์ค
2: ๋ก๋ฉ ์๋ฃ
3: ์๋ฒ ์ฒ๋ฆฌ ์ค
4: ์๋ฒ ์ฒ๋ฆฌ ์๋ฃ - xmlHttpRequest.status
์์ฒญ ์๋ต์ํ๋ฅผ ๊ฐ๋ unsigned short๋ก ๋ณํ
200: ์ฑ๊ณต
403: ์ ๊ทผ๊ฑฐ๋ถ ์๋ฌ
404: ํ์ผ, ํ์ด์ง ์์
500: ๋ฌธ๋ฒ ์ค๋ฅ - xmlHttpRequest.responseText
์์ฒญ์ ๋ํ ์๋ต์ ํ ์คํธ๋ก ๊ฐ๋ DOMString ๋ฐํ
์๋ฒ์์ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ text ํ์์ผ๋ก ๋ด๊ณ ์์ต๋๋ค
xmlHttpRequest.open("POST", url, true);
xmlHttpRequest.setRequestHeader("Content-type", "application/json");
xmlHttpRequest.send( params );
- xmlHttpRequest.open
open("์ ์ก๋ฐฉ์", "๊ฒฝ๋ก", ๋น๋๊ธฐ ์ฌ์ฉ์ฌ๋ถ)
๋น๋๊ธฐ์ ์์ฒญ ์ด๊ธฐํ ์ค์
๋น๋๊ธฐ์์ผ๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด js๋ ์๋ฒ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ๋ค๋ฅธ ์ผ์ ํ ์ ์์ต๋๋ค - xmlHttpRequest.setRequestHeader
์ง์ ํ ํค๋์ ํ ์คํธ๋ฅผ ๊ฐ๋ ๋ฌธ์์ด ๋ฐํ
์์ฒญ ํค๋์ ๋ด์ฉ ์ถ๊ฐ(key, value)
๋ฐ์ดํฐ ํ์ ํ์ ์ง์ - xmlHttpRequest.send
์์ฒญ ๋ณด๋
- ์ ์ฒด์ฝ๋
var xmlHttpRequest = new XMLHttpRequest()
xmlHttpRequest.open("POST", url, true);
xmlHttpRequest.setRequestHeader("Content-type", "application/json");
xmlHttpRequest.send( params );
xmlHttpRequest.onreadystatechange = function(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
callbackFunction(0, xmlHttpRequest.responseText);
}else{
callbackFunction(xmlHttpRequest.status, xmlHttpRequest.statusText);
}
}
};
๋ฐ์ํ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] PC Chrome์์ ์๋๋ก์ด๋ Mobile ๋ธ๋ผ์ฐ์ ์น ๋๋ฒ๊น ํ๊ธฐ (0) | 2022.04.21 |
---|---|
[Javascript] postMessage, addEventListener(, attachEvent) (0) | 2021.12.28 |
๋๊ธ