日期:2014-05-16  浏览次数:20310 次

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结束-->