如何解决XMLHTTP提交过时返回的是乱码?

原创 2002年09月10日 10:15:00


如何解决XMLHTTP提交过时返回的是乱码?

下面是解决办法:
1,测试从服务器返回含有中文的 XML 字符串,使用 GET 方法来进行测试。
2,把含有中文字符串的 XML 提交到服务器,并在服务器进行处理后再以中文的形式返回到客户端,其中没有使用字符串解码的处理,大大提高了效率!

本例子需要两个文件:xmlencode.htm和xmlencode.asp
======================================

xmlencode.htm
============
<script>
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","http://mengxianhui/asp/xmlencode.asp",false)
xmlhttp.setRequestHeader("Content-Type","text/xml")
xmlhttp.send()
alert(xmlhttp.responseXML.xml);
var s = '<?xml version="1.0"?><a> 如何解决XMLHTTP提交过时返回的是乱码,这是先提交上去,再返回的文字。 </a>'
xmlhttp.open("POST","http://mengxianhui/asp/xmlencode.asp",false)
xmlhttp.setRequestHeader("Content-Type","text/xml")
xmlhttp.send(s)
alert(xmlhttp.responseXML.xml);
</script>


xmlencode.asp
============
<%@ Language=VBScript %>
<%
Response.ContentType = "text/xml"
Response.CharSet = "GB2312"

Dim varCount,varReq,xmldom
varCount = Request.TotalBytes
varReq = Request.BinaryRead(varCount)

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  Set xmldom = Server.CreateObject("MSXML2.DOMDocument")
  xmldom.load varReq
  Response.Write "<?xml version=""1.0"" encoding=""GB2312""?>" & xmldom.documentElement.xml
Else
  Response.Write "<?xml version=""1.0"" encoding=""GB2312""?><a>如何解决XMLHTTP提交过时返回的是乱码,这是从服务器直接返回的文字。</a>"
End If
%>


以上在中文WIN2K+IE6和英文WINXP+IE6和IE5下测试通过!

XMLHttpRequest读取中文网页时返回乱码的解决办法

XMLHttpRequest读取中文网页时返回乱码的解决办法 XMLHttpRequest 默认是用UTF-8 传递数据。当服务端的返回数据是UTF-8编码的时候,它工作得很好(开发web应用,当服务...
  • bailove
  • bailove
  • 2006年05月26日 13:49
  • 6494

JavaScript中解决Microsoft.XMLHTTP乱码的最简单方法

环境:JavaScript 作为脚本语言的 ASP,也可扩展到客户端的 JavaScript。以下函数为自定义组件 bluec.bluecData2 的代码:function execSql(pSql...
  • lvlingwy
  • lvlingwy
  • 2007年05月30日 13:48
  • 983

xmlhttp中文乱码之客户端解决方案

xmlhttp中文乱码之客户端解决方案 2006-10-23 01:45使用ajax的人,最头疼的莫过于处理返回的中文乱码问题。如果可以在服务器进行操作的话,这个问题并不复杂。问题是有时候我们没有在服...
  • smeyou
  • smeyou
  • 2011年06月10日 12:07
  • 2569

XMLHttpRequest对象解决中文乱码问题

在学习ajax中XMLHttpRequest对象扩展问题中,XMLHttpRequest可以用来解决web访问中文乱码问题,对此作出总结。   出现乱码的原因:  (1)请求数据中包含中文,服务器端程...
  • u013047584
  • u013047584
  • 2016年01月08日 18:20
  • 4946

解决XMLHTTP中中文字符传递乱码的问题

  -----------send.asp-----------------------  set xmlhttp=server.createObject("Microsoft.XMLHTTP")  ...
  • zljblue
  • zljblue
  • 2005年02月05日 14:55
  • 1115

xmlhttp远程异步调数据一例(含中文乱码解决方法)

利用xmlhttp远程异步调用数据的方式真的能使web程序可以完全模拟c/s程序的特点。大大提高了web程序的 实现效果。尤其是以xmlhttp技术为核心的 ajax ,将是web程序的一次飞跃。本文...
  • precipitant
  • precipitant
  • 2006年07月27日 13:59
  • 1468

C#下xmlhttp 中文乱码完美解决方案

添加引用:是MS XMLV2.6(不是V6.0,原因知道的同志给我答案)    using System;using System.Data;using System.Configuration;us...
  • mengyao
  • mengyao
  • 2007年04月03日 20:28
  • 5086

用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案

用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案关键词:VBScript, ASP, JavaScript, Java, XML以前我曾经贴过一篇用XMLHT...
  • x86
  • x86
  • 2001年05月28日 13:25
  • 1180

如何解决XMLHTTP提交过时返回的是乱码?

如何解决XMLHTTP提交过时返回的是乱码?下面是解决办法:1,测试从服务器返回含有中文的 XML 字符串,使用 GET 方法来进行测试。2,把含有中文字符串的 XML 提交到服务器,并在服务器进...
  • hejishan
  • hejishan
  • 2008年03月11日 12:20
  • 255

ASP模拟POST提交,然后XMLHTTP获取数据总是乱码,请大家帮忙,感谢!

目前在建的一个项目要求使用外部的一个网站达到切词的目的,由于外部网站的API接口要求必须是POST提交数据,因此只能模拟POST提交,然后再去读取提交后的数据,我用以下的代码,获取回来的中文总是乱码,...
  • lishimin1012
  • lishimin1012
  • 2017年03月06日 22:18
  • 609
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何解决XMLHTTP提交过时返回的是乱码?
举报原因:
原因补充:

(最多只允许输入30个字)