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


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

HTML JavaScript url

魔法师船长 9 years, 8 months ago

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


 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;   
    }

流鼻血的小女孩 answered 9 years, 8 months ago

给你分享个代码

方法


 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

推倒天江衣 answered 9 years, 8 months ago

Your Answer