JSP、AJax中文乱码问题解决,escape(), encodeURI(), encodeURIComponent(),js对参数连续两次调用 encodeU
ajax检证用户就否存在和解决乱码问题!
原文:http://user.qzone.qq.com/278887848/blog/11
写了一个ajax,在向服务器端发送数据时产生乱码。。在查阅一些资料后,通过测试!^_^。。。
<script>
var XMLHttpReq=false;
function checkProviderName(){
if( "" == DWRUtil.getValue('name').trim() ){
alert("服务商全称不能为空");
ProviderForm.name.focus();
return false;
}else if( validateCN(DWRUtil.getValue('name').trim()) ){
alert("服务商全称输入错误");
ProviderForm.name.focus();
return false;
}else if( validateSafe(DWRUtil.getValue('name').trim())){
alert('服务商全称不要使用非法字符!');
ProviderForm.name.focus();
return false;
}
if(window.XMLHttpRequest){ //Mozilla
XMLHttpReq=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
var temp=DWRUtil.getValue('name').trim();
var url="<%=request.getContextPath()%>/action /service_provider.do?act=checkProviderName& name="+encodeURI(encodeURI(temp));//要执行两次的encodeURI////关键!!!!!
XMLHttpReq.open("GET",url,true);
XMLHttpReq.;
XMLHttpReq.setrequestheader("cache-control","no-cache");
XMLHttpReq.setrequestheader("Content-Type","text/html; encoding=UTF-8");
XMLHttpReq.send(null);
}
function checkP(){
if(XMLHttpReq.readyState==4){ //对象状态
if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息
<!--测试读取xml开始-->
var root=XMLHttpReq.responseXML;
var res=root.getElementsByTagName("res")[0].firstChild.data;
window.alert(res);
<!--测试读取xml结束-->