帮我解决Ajax乱码问题(修改代码)

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:50:19
进行调用的时候中文会出现乱码,请大家帮我
关键部分

var Ajax = {
getTransport: function() {
return Try.these(
function() {return new ActiveXObject('Msxml2.XMLHTTP')},
function() {return new ActiveXObject('Microsoft.XMLHTTP')},
function() {return new XMLHttpRequest()}
) || false;
},

emptyFunction: function() {}
}

Ajax.Base = function() {};
Ajax.Base.prototype = {
setOptions: function(options) {
this.options = {
method: 'post',
asynchronous: true,
parameters: ''
}.extend(options || {});
}
}

Ajax.Request = Class.create();
Ajax.Request.Events =
['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Request.prototype = (new Ajax.Base()).extend({
initialize: function(url, options) {
this.

把后台的脚本变成 UTF-8 编码就可以了 ...

服务器端输出之前escape一下
ajax获取回来再unescape一下
我就是这么做的,从来没有遇见什么乱码问题。

举个例子:

server.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%response.write escape("喂,你好吗?")%>

get.html

<script language="javascript">
var rusalt="";
...
...
rusalt=unescape(xmlhttp.responseText);
alert(rusalt);//这样就不会有乱码了,试试
...
...
</script>