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


问题对人有帮助,内容完整,我也想知道答案0 问题没有实际价值,缺少关键内容,没有改进余地

如题

传递参数中带有中文

url?aaa=你好啊

用js获取aaa并显示到页面上出现乱码

该怎么解决

2015年07月31日提问 评论

默认排序时间排序

2 个回答


答案对人有帮助,有参考价值0 答案没帮助,是错误的答案,答非所问

采纳

给你分享个代码


方法

      function getQueryString(key){

        var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");

        var result = window.location.search.substr(1).match(reg);

        return result?decodeURIComponent(result[2]):null;

      }

用法

window.search取到的是queryString,如:?a=2&b=3

如url为:http://localhost/test/test.html?a=2&b=3

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

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

2015年07月31日回答 · 2015年07月31日更新  评论


savokiss

1.5k 声望

答案对人有帮助,有参考价值0 答案没帮助,是错误的答案,答非所问

我擦,,找到原因了

直接上代码


全选复制放进笔记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;   

    }


你可能感兴趣的:(js获取url中的中文参数出现乱码)