// XML Object 생성
function getXMLHttpObject() {
var xmlobj = false;
if(window.XMLHttpRequest) {
//Non-MS Browser
xmlobj = new XMLHttpRequest;
} else if(window.ActiveXObject) {
try {
xmlobj = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e1) {
try {
xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e2) {
//Cannot create XMLHTTP object
alert("XMLHTTP 객체를 생성하는데 실패하였습니다.");
}
}
}
return xmlobj;
}
//AJAX액션 시작
function enqueryAddr() {
xmlobj = getXMLHttpObject();
//상태가 바뀌면 작동될 함수 설정
var handlerfunc = getReadyStateHandler(xmlobj, gotXML);
xmlobj.onreadystatechange = handlerfunc;
xmlobj.open("POST","zipcode_addr.asp",true); //리퀘스트 오픈
xmlobj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//인코드형식 지정
xmlobj.send("addr="+addr); //리퀘스트 전송
}
//상태가 바뀌면 실행되는 함수
function getReadyStateHandler(xmlobj, responseXMLHandler) {
return function(){
if(xmlobj.readyState == 4) { //4가 응답이 온 경우
if(xmlobj.status == 200) { //HTTP 200. 정상일 경우 핸들러 함수 호출
responseXMLHandler(xmlobj.responseXML);
} else if(xmlobj.status != 0){
alert("HTTP Error : "+xmlobj.status); //200이 아니면 HTTP오류.
}
}
}
}
//XML데이터 핸들링
function gotXML(xml) {
//여기서 xml개체를 가지고 데이터를 뽑아내면 된다.
//xml.getElementsByTagName()이나 하위노드의 firstChild.nodeValue 속성 이용.
}
한글일 경우 인코딩 문제로 제대로 표시가 안되는데,
javascript에서 encode()로 변환하여 보내서 ASP에서 아래와 같은 함수로 받으면 된다.
Function URLDecode(Expression)
Dim strSource, strTemp, strResult, strchr
Dim lngPos, AddNum, IFKor
strSource = Replace(Expression, "+", " ")
For lngPos = 1 To Len(strSource)
AddNum = 2
strTemp = Mid(strSource, lngPos, 1)
If strTemp = "%" Then
If lngPos + AddNum < Len(strSource) + 1 Then
strchr = CInt("&H" & Mid(strSource, lngPos + 1, AddNum))
If strchr > 130 Then
AddNum = 5
IFKor = Mid(strSource, lngPos + 1, AddNum)
IFKor = Replace(IFKor, "%", "")
strchr = CInt("&H" & IFKor )
End If
strResult = strResult & Chr(strchr)
lngPos = lngPos + AddNum
End If
Else
strResult = strResult & strTemp
End If
Next
URLDecode = strResult
End Function
'Knowledge > WebProgramming' 카테고리의 다른 글
CDO "SendUsing"구성값이 잘못되었습니다 에러 (0x80040220) (0) | 2007.05.02 |
---|---|
ASP에서 XML생성하기 (0) | 2007.04.04 |
AJAX 간단 클래스 (0) | 2007.04.02 |
JSP 파일업로드 (0) | 2007.02.06 |
ASP에서 SMTP메일보내기 (0) | 2007.02.05 |