js获取url中的中文参数出现乱码

如题
传递参数中带有中文
url?aaa=你好啊
用js获取aaa并显示到页面上出现乱码
该怎么解决

阅读 39.7k
4 个回答

给你分享个代码

方法

      function getQueryString(key){
        var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
        var result = window.location.search.substr(1).match(reg);
        return result?decodeURIComponent(result[2]):null;
      }

用法

console.log(getQueryString('a'));//2
console.log(getQueryString('b'));//3

我擦,,找到原因了
直接上代码

function getRequest() {   
       var url = window.location.search; //获取url中"?"符后的字串   
       var theRequest = new Object();   
       if (url.indexOf("?") != -1) {   
          var str = url.substr(1);   
          strs = str.split("&");   
          for(var i = 0; i < strs.length; i ++) {   
              //就是这句的问题
             theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]); 
             //之前用了unescape()
             //才会出现乱码  
          }   
       }   
       return theRequest;   
    }
推荐问题
宣传栏