欢迎光临散文网 会员登陆 & 注册

如何解决js地址栏中传递中文乱码的问题

2022-09-16 16:55 作者:限量版范儿  | 我要投稿

目标要求:

实现从A页面跳转至B页面,B页面接收A页面通过地址栏传递过来的中文参数,中文不能出现乱码。

A页面部分代码(传递参数):

var title = "这是中文";var t = encodeURI(encodeURI(title)); window.location.href = "b.html?title=" + t;

 

B页面部分代码(接收参数):

var t = GetQueryString("title"); //获取地址栏参数
var title = decodeURI(t); //只需要转一次码
 
// 利用正则表达式方式,获取地址栏中的的参数值
function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r != null)
        return unescape(r[2]);
    return null;
}

  

关键方法讲解:

1. encodeURI()    函数可把字符串作为URI进行编码

2. decodeURI()    函数可对encodeURI()函数编码过的URI进行解码

 

经过实测IE,Chrome,Fire Fox 等主流浏览器均没问题

链接:https://www.dianjilingqu.com/533925.html

如何解决js地址栏中传递中文乱码的问题的评论 (共 条)

分享到微博请遵守国家法律