首页 > 代码库 > js 中利用url传递参数的编码问题

js 中利用url传递参数的编码问题

今天犯二了,解析url传递的参数怎么都不对,将结果log出来,发现是编码的问题,然而,我居然忘了给怎么编码解码、、、、所以,有必要记一下,下次犯二就不用去翻别人写的了

传递url时,将要传递的参数使用:encodeURI编码

  $(".sidebar >ul > .side-li").click(function () {
            /*----发送一个查询商品,相应的名字,*/
            // console.log($(this).find("h5").text());
             flagData = http://www.mamicode.com/$(this).find("h5").text();
            /*--编码--*/
            var eUrl = encodeURI(‘?data=http://www.mamicode.com/‘+flagData);
            if(linkUrl){
                 window.location.href= linkUrl+eUrl;
             }
             else{
                 getDataFunc();
             }
        })

解析url 传递的值时,使用:decodeURI 解码

 var flagData =http://www.mamicode.com/  getUrlRequest();
 function getUrlRequest() {
        var url =location.search;
        console.log(url);
        var splitStr =url.indexOf("?");
        if(splitStr != -1){
            /*返回 url 传递的数据*/
           return decodeURI(url.slice(6));
        }
    }

 

js 中利用url传递参数的编码问题