var AJAX = {
XmlHttp: null,
create: function () {
try {
if (window.XMLHttpRequest) {
AJAX.XmlHttp = new XMLHttpRequest();
// 일부의 모질라 버전을은 readyState property,
// onreadystate event를 지원하지 않으므로. - from xmlextrs
if (this.XmlHttp.readyState == null) {
this.XmlHttp.readyState = 1;
this.XmlHttp.addEventListener("load", function () {
this.XmlHttp.readyState = 4;
if (typeof this.XmlHttp.onreadystatechange == "function")
tmpXmlHtp.onreadystatechange();
}, false);
}
} else {
AJAX.XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
catch (e) {
alert("Your browser does not support XmlHttp objects");
//throw new Error("Your browser does not support XmlHttp objects");
}
}
}
AJAX.openXML = function (method, url, async, uname, pswd) {
if (AJAX.XmlHttp != null) {
if (uname == undefined) {
AJAX.XmlHttp.open(method, url, async, uname, pswd);
} else {
AJAX.XmlHttp.open(method, url, async);
}
AJAX.XmlHttp.onreadystatechange = function () {
if (AJAX.XmlHttp.readyState == 4) {
if (AJAX.XmlHttp.status == 200) {
// 200 은 HTTP에서 성공 i.e) 404 : not found
AJAX.statusSuccessHandler(AJAX.XmlHttp.responseXML.xml);
} else {
AJAX.statusErrorHandler();
alert('Error while loading!');
}
}
}
} else {
alert ("need to create xmlhttp object");
}
}
AJAX.openText = function (method, url, async, uname, pswd) {
if (AJAX.XmlHttp != null) {
if (uname == undefined) {
AJAX.XmlHttp.open(method, url, async, uname, pswd);
} else {
AJAX.XmlHttp.open(method, url, async);
}
AJAX.XmlHttp.onreadystatechange = function () {
if (AJAX.XmlHttp.readyState == 4) {
if (AJAX.XmlHttp.status == 200) {
// 200 은 HTTP에서 성공 i.e) 404 : not found
AJAX.statusSuccessHandler(AJAX.XmlHttp.responseText);
} else {
AJAX.statusErrorHandler();
alert('Error while loading!');
}
}
}
} else {
alert ("need to create xmlhttp object");
}
}
AJAX.send = function (content) {
if (content == undefined)
AJAX.XmlHttp.send(null);
else
AJAX.XmlHttp.send(content);
}
AJAX.setOnReadyStateChange = function (funcname) {
if (AJAX.XmlHttp) {
AJAX.XmlHttp.onreadystatechange = funcname;
} else {
alert ("need to create xmlhttp object");
}
}
// status 200 일 때 처리 함수
AJAX.statusSuccessHandler = function (data) {
alert(data);
}
AJAX.setStatusSuccessHandler = function (funcname) {
AJAX.statusSuccessHandler = funcname;
}
// status 200 일 때 기본 처리 함수
// setStatusSuccessHandler() 로 대체 가능
AJAX.statusErrorHandler = function (status) {
AJAX.rtnText = AJAX.XmlHttp.responseText;
}
AJAX.setStatusSuccessHandler = function (funcname) {
AJAX.statusSuccessHandler = funcname
}
AJAX.setStatusErrorHandler = function (funcname) {
AJAX.statusErrorHandler = funcname
}
AJAX.setRequestHeader = function (label, value)
{
AJAX.XmlHttp.setRequestHeader(label, value);
}
// 사용법
// AJAX.create();
// AJAX.openText('GET','jsontest.php', true);
// AJAX.setStatusSuccessHandler(proc);
// AJAX.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// AJAX.send("test=테스트");
//
// function proc(abc)
// {
// document.getElementById('test').innerHTML = abc;
// }
출처 :
http://www.oraclejava.co.kr/zboard/view.php?id=php&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum
&desc=asc&no=39
2006/02/25
동적 웹페이지를 위한 기본 AJAX 클래스 코드
가장 많이 본 글
-
구글... 도대체 뭐하는 짓인지......?? 뭐 내용상으로는,. 누군가 Spam 이라며 신고했다는 건데, 스팸 사이트도 아니고 그럴 내용도 없다. 누군가 악의적으로 신고한것인지 ? 아니면 구글 시스템 오류인건지? 특이한건,. 같은 구글 계정으로 생성...
-
업데이트 적용 환경 : Windows Server 2022 Std, 21H2 설치 실패: 0x8024200B 오류 때문에 Windows에서 다음 업데이트를 설치하지 못했습니다. 2024-01 x64 기반 시스템용 Microsoft server oper...
-
PostgreSQL 에서 처음 dblink 를 사용하는 경우에는 dblink 라이브러리를 확장모듈에 로딩을 해놔야 함. 안그러면 알수 없는 함수라는 오류가 표시됨. -- dblink 로딩 (최초1회 > PgAdmin 에서 해당 DB의 확장모듈에...
댓글 없음:
댓글 쓰기