url传参时包含中文

在js中进行传参,由于包含中文,所以需要经过两次encodeURI()编码和两次decodeURI()解码

a.html跳转b.html传中文参数:

a.html:

html:   

 <a @click="jump(r.uid,r.name)"></a>

js:

jump:function(uid,name){

            var url=encodeURI(encodeURI("share.html?uid="+uid+"&name="+name));

            window.location.href=url;

}


b.html:

js:

function GetRequest() {

    var url =decodeURI(decodeURI(location.search)); //获取url中"?"符后的字串,使用两次decodeRUI解码

    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]] = unescape(strs[i].split("=")[1]);

        }

        return theRequest;

    }

}

var postData = GetRequest();

    console.log(postData); //postData是一个json对象:{uid:'12334',name:'我的名字'};可直接使用postData.uid;    postData.name

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容