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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中利用url传递参数的编码问题相关的知识,希望对你有一定的参考价值。

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

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

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

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

 var flagData =  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传递参数的编码问题的主要内容,如果未能解决你的问题,请参考以下文章

在js传递参数中含加号(+)的处理方式

Thinkphp5中利用js/jQuery传递参数的方法

url编码中文乱码问题怎么解决

javascript 传递参数中带加号自动变成了空格

利用JS获取地址栏的中文参数,如何避免取到乱码?

Url的参数转变成json