저도 asp로는 ajax를 안 해보다가 우연히 친구가 삽질하고 있어서 같이 해보던중 찾은 답입니다.
도움되실지 모르겠네요.


아래와 같이 콜백 받으시고요.
var xmlStr = req.responseBody;         
xmlStr = BinDecode(xmlStr);         
var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.loadXML(xmlStr);
var cnt = xmlDoc.getElementsByTagName("cnt").item(0).firstChild.nodeValue;


BinDecode 함수는 vb스크립트로 하시면 되요.
자바스크립트로도 만들수 있겠지만 귀찮아서 인터넷에 있는거 그대로 썼습니다.
출처는 잃어버렸네요. 네이버에서 검색해서 얻었어요.
제공하신분 감사합니다.(지금검색해보니 http://cafe.naver.com/jcode.cafe?iframe_url=/ArticleRead.nhn%
3Farticleid=32) 요기에 있네요.

<script language="vbscript">
   Public Function BinDecode(byVal binData)
Dim i, byteChr, strV
For i = 1 to LenB(binData)
byteChr = AscB(MidB(binData,i,2))
If byteChr > 127 Then
i = i + 1
strV = strV & Chr("&H" & Hex(byteChr) & Hex(AscB(MidB(binData,i,2))))
Else
strV = strV & Chr(byteChr)
End if
Next
BinDecode = strV
End Function
</script>

이렇게 안 하고 UTF-8로 저장하고 일반적인 방법으로 하면 안되더라구요.. 왜 그런건지.
그냥 간편히 jQuery 같은 library 사용하시는게 속편하실듯 합니다.

 0  공백    
 1  널  adEmpty  0
 2  integer    
 3  Long adInteger  4
 4  Single    
 5  Double    
 6  Currency    
 7  Date  adDate
 8  String  adVarWChar  문자열 길이(길이가 0이면 4)
 9  Ole Object    
 10  Error    
 11  Boolean  adBoolean
 12  Variant    
 13  Non-OLE Object    
 17  Byte    
 8192  Array    

'예제)
Dim objRS : Set objRS = New GDO
Dim objHash : Set objHash = New Hashtable
objHash.Define "title", "monoless 킹왕짱 미남!!"

Call objRS.ExecuteQuery("update taeyo_board set title=?", objHash)

Set objHash = Nothing
Set objRS = Nothing

'예제 2)
Dim objRS : Set objRS = New GDO
Dim objHash : Set objHash = New Hashtable
objHash.Define "title", "monoless 킹왕짱 미남!!"

Dim objData : objData = objRS.OpenQuery("select * from taeyo_board where title=?", objHash)

If IsEmpty(objData) = False Then
       Dim curData
       For Each curData In objData
              Response.Write "Title : " & curData.Item("title") & "
" Response.Write "Name : " & curData.Item("name") & "
" Next End If Set objHash = Nothing Set objRS = Nothing


생성자)
* [void] GDO() - GDO Class를 생성합니다. 

Method)
* [void] ExecuteProc(proc, params) - 프로시져를 실행합니다.
 - [String] proc - 실행할 프로시져명
 - [Object Hashtable] params - 입력할 파라메터

* [void] ExecuteQuery(query, params) - 쿼리를 실행합니다.
 - [String] query - 실행할 쿼리
 - [Object Hashtable] params - 입력할 파라메터

* [Array] OpenProc(proc, params) - 프로시져를 실행합니다. 결과값은 Object Hashtable을 가진 배열로 반
환합니다.
 - [String] proc - 실행할 프로시져명
 - [Object Hashtable] params - 입력할 파라메터

* [Array] OpenQuery(query, params) - 쿼리를 실행합니다. 결과값은 Object Hashtable을 가진 배열로 반환
합니다.
 - [String] query - 실행할 쿼리
 - [Object Hashtable] params - 입력할 파라메터

Property)
* [String] ConnectString - 접속할 DB 연결구문입니다.

Sql = "INSERT INTO test(t1, t2, t3) VALUES(?, ?, ?)" 

 


with DbCmd
.CommandText = Sql
.CommandType = adCmdText

 

.Parameters.Append .CreateParameter("@t1", adVarChar, adParamInput, 4)
.Parameters.Append .CreateParameter("@t2", adVarChar, adParamInput, 20)
.Parameters.Append .CreateParameter("@t3", adVarChar, adParamInput, 200)

 

.Parameters("@t1") = "t1"
.Parameters("@t2") = "t2"
.Parameters("@t3") = "t3"

.Execute
End with
엔터
content = Replace(content,chr(13) & chr(10), "<br>")
공백
content = Replace(content,chr(32), "&nbsp;")

+ Recent posts