再次提问有关XMLHTTP的问题,以前的帖子看了可惜还没解决

liangzhg 2002-12-26 05:08:01
我看了很多XMLHTTP的帖子,也看了不少关于解决乱码的解决方法,可是我现在实在是搞不定了,
<%
Function bytes2BSTR(vIn)

Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
Response.Write ThisCharCode
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Response.Write strReturn
Response.Write "<br>"
Next

bytes2BSTR = strReturn

End Function


on error resume next
dim xmlHttp
set xmlHttp=server.CreateObject("Microsoft.xmlHttp")
strUrl="http://www.hzqx.com/gzhfw/index.asp"
Response.Write strUrl
xmlHttp.open "post",strUrl,false
xmlHttp.SetRequestHeader "content-Type","text/xml;charset=gb2312"
xmlHttp.send
Response.CharSet="Gb2312"
'Response.ContentType="test/xml"

a=xmlHttp.responseText
b="var y="""
c="document.write(y);"
a1=InStr(1,a,b)
a2=InStr(1,a,c)
r=Mid(a,a1,a2-a1)
Response.Write bytes2BSTR(r)&"<br>"

%>

进行了多次尝试都不成功,请高手指教。
...全文
29 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangzhg 2002-12-26
  • 打赏
  • 举报
回复
好了,谢谢。以后有问题请多指教。
散分。
sunbeamy 2002-12-26
  • 打赏
  • 举报
回复
XMLHTTP假设当前默认编码为UTF-8编码,把结果编码成unicode的String,使用responseText可得到该结果
responseBody为编码前的unsigned bytes数组
liangzhg 2002-12-26
  • 打赏
  • 举报
回复
能不能帮我解释一下responseText和responseBody的区别,我对这两个不是很了解,
fsdos 2002-12-26
  • 打赏
  • 举报
回复
请参看“xmlhttp应用实例”:

http://www.lpdsg.com/iisexample/data/bbsxp/showtopic.asp?id=335&forumid=11&page=6

http://xmlnews.sameliking.com/iisexample/data/xmlnews/default.htm

最关键的是:
xmlGet = objXML.responsebody '得到服务器端传回来的结果;
xmlGet = bytes2bstr(xmlGet) '将单字节转换成文本格式函数
孟子E章 2002-12-26
  • 打赏
  • 举报
回复
<script language="vbscript">
Function bytes2BSTR(vIn)

Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""

For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next

bytes2BSTR = strReturn

End Function
</script>
<script language="javascript">
var xmlhttp=new ActiveXObject("Msxml2.xmlhttp")
xmlhttp.open("GET","http://www.sina.com.cn/",false)
xmlhttp.send()
alert(bytes2BSTR(xmlhttp.ResponseBody))
</script>
孟子E章 2002-12-26
  • 打赏
  • 举报
回复
例子
http://www.csdn.net/Develop/read_article.asp?id=14993

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧