AJAX在火狐浏览下传输中文不起作用?

本人用AJAX做了个搜索下拉菜单,传输英文字符时候,AJAX获取后台数据可以前台显示,但是输入中文时候,就没有任何反应,也没有乱码,这个情况是在火狐下出现的,求高手帮助解决,谢谢。
部分代码
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("错误,无法请求XMLHttpRequest!");
}

encoder两次,火狐和ie默认编码不一样

类似 encodeURI(encodeURI(geturl))

现在谁还在用这么原始的代码,为什么不用jquery

用火狐断点调试一下,看那一步出错了。
另外我也建议用jquery的post或ajax方法

encodeURIComponent编码下要发送的数据,应该是服务器端获取到乱码了,一查询导致服务器端代码出问题没有进入你的status==200的判断里面

你应该改成这样判断,不管是否出错都知道是什么问题了

 if(4==xhr.readyState){
   if(200==xhr.status)alert('请求成功\n'+xhr.responseText);
     else alert('动态页有问题,返回数据如下\n'+xhr.responseText);
}

中文要逆行encode,比如编码成base64

看看你的页面声明是什么编码格式的