get请求乱码问题,用encodeURI和decodeURI

就是前端href=""拼接成一个字符串,如

http://localhost:8888/webpage/cn/aresoft/ad/big_map2.jsp?name=好人&pwd=密码

这个不是通过后台来控制中文的乱码,而是通过js的二个函数encodeURI和decodeURI;


如果有这样的需求,就是通过xlja.html并把name和pwd跳转到xljb.html,而name和pwd是中文的数据,

从而就产生乱码了;

可以在xlja.html里js用window.open(

encodeURI("/webpage/cn/aresoft/ad/big_map2.jsp?name=好人&pwd=密码",""))


在xljb.html中js调用strrr(decodeURI(window.location.href),'name')得到name指定的中文数据;


 function strrr(“”,“”)这个函数是通过url和指定的名称,从而获取该名称的值;

如strrr(http://localhost:8888/webpage/cn/aresoft/ad/big_map2.jsp?name=好人&pwd=密码,‘name’) 得到的结果是:好人


function strrr(url,name){

     if (url.indexOf("?") != -1) {
      var str = url.substr(url.indexOf('?')+1);
      var par= str.split("&");
      for(i=0;i<par.length;i++){
          str3=par[i].substr(0,par[i].indexOf('='));
          //alert("name:"+str3);
          str2 = par[i].substr(par[i].indexOf('=')+1);
      //    alert("value:"+str2);
          //alert("ddd:"+str2);
          if(name == par[i].substr(0,par[i].indexOf('='))){
              return par[i].substr(par[i].indexOf('=')+1);
              
          }
      }
   }

}