일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 시놀로지
- SKT
- 라즈베리파이2
- 가상서버호스팅
- OpenWrt
- 소비전력
- KB증권
- KB국민카드
- 알뜰폰
- 복현오거리
- 티스토리
- jQuery
- mysql
- 램가스초월
- PHP-FPM
- Rocky
- php
- 리눅스
- 자바스크립트
- 킹북이초월
- proxmox
- 보르비스초월
- 알리익스프레스
- centos
- iptime
- ConoHa
- Apache
- 윈도우10
- 스톤에이지
- 아파치
- Today
- Total
맛집 여행 캠핑 일상 생활
JAVASCRIPT AJAX 사용방법 본문
JAVASCRIPT AJAX 사용방법
jQuery를 사용하면 조금더 간단하지만 자바스크립트로 ajax를 사용하는 방법에 대해서 알아보자.
AJAX 는 "Asynchronous JavaScript And XML" 의 약어이다.
▶ ajax.js ( 공통적으로 사용되는 커스텀 함수 )
function getXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch(e1) { return null; }
}
} else {
return null;
}
}
function sendRequest(url, params, callback, method) {
var httpRequest = getXMLHttpRequest();
var httpMethod = method ? method : 'GET';
if (httpMethod != 'GET' && httpMethod != 'POST') {
httpMethod = 'GET';
}
var httpParams = (params == null || params == '') ? null : params;
var httpUrl = url;
if (httpMethod == 'GET' && httpParams != null) {
httpUrl = httpUrl + "?" + httpParams;
}
httpRequest.open(httpMethod, httpUrl, true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.onreadystatechange = callback(httpRequest);
httpRequest.send(httpMethod == 'POST' ? httpParams : null);
}
▶ ajax_test.html
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">
function ajax_result(httpRequest) {
return function() {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) { // 아랫부분은 응용하면 된다.
if(!httpRequest.responseText.match(null)) {
try {
var resultData = httpRequest.responseXML.getElementsByTagName('resultData')[0];
var resultText = resultData.firstChild!=null ? resultData.firstChild.nodeValue : null;
if(resultData.getAttribute('result')=='success') {
var arr = JSON.parse(resultText);
if(arr.ret=='success') {
alert(arr.msg);
}
else {
alert(arr.msg);
}
}
else {
alert(resultText);
}
} catch(e) {
alert(e.message + httpRequest.responseText);
}
}
} else {
alert("Failed : "+httpRequest.status);
}
}
}
}
function action_ajax() {
var url = "ajax_test.php";
var param = 'param1=1¶m2=2';
sendRequest(url, param, ajax_result, 'POST');
return false;
}
</script>
▶ ajax_test.php
<?php
$ret_arr = array();
$ret_arr['ret'] = "success";
$ret_arr['msg'] = "메시지";
header("Content-type: text/xml");
header("Cache-Control: no-cache");
echo "<?xml version='1.0' encoding='utf-8'?>\n";
echo "<resultData result='success'>";
echo json_encode($ret_arr);
echo "</resultData>\n";
?>
위의 소스를 응용해서 사용하면 된다.
'JAVASCRIPT' 카테고리의 다른 글
JAVASCRIPT document.body.offsetHeight 값이 0 이 나올때 (0) | 2016.10.14 |
---|---|
HTML5 CANVAS IE 10, 11 에서 터치이벤트 (0) | 2016.10.14 |
JAVASCRIPT 페이지 로딩 실행시간 체크 (0) | 2016.10.10 |
JAVASCRIPT 동적변수명 사용방법 (0) | 2016.10.06 |
CANVAS 이미지 회전시키기 (0) | 2016.09.26 |