jQuery url 参数中文乱码问题怎么解决? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
jQuery 获取 URL 中的参数, 解决参数中文乱码的问题.
方法 1:
- // 获取 url 中的参数
- function getUrlParamCN(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象
- var r = decodeURI(Windows.location.search).substr(1).match(reg); // 匹配目标参数
- if (r != null) return unescape(r[2]); return null; // 返回参数值
- }
方法 2:
一, 传递参数页面. html
- <script type="text/javascript">
- var name = 'abc'; // 字符串英文
- var num = 998; // 数字
- var cla= '电脑'; // 中文
- var _t = encodeURI(encodeURI(cla));
- // 中文需要进行两次 encodeURI 转码 ( encodeURI: 把 URI 字符串采用 UTF-8 编码格式转化成 escape 格式的字符串.)
- Windows.location.href = "../aa.html?name=" + name(字符串) + "&num=num (数字)" + "&cla=_t (中文)";
- </script>
二, 接收参数页面. HTML
- (最终页面地址:../aa.HTML?name=abc&num=998&cla=%25E7%2594%25B5%25E8%2584%2591)
- <script type="text/javascript">
- // 获取地址参数
- var _name = getQueryString("name");
- var _num=getQueryString("num");
- var _t = getQueryString("cla"); // 此为中文参数, 需转码
- var title = decodeURI(_t); // 只需要转一次码
- console.log(title);// 此处打印出来是中文.
- function getQueryString(name) {
- // 正则表达式, 获取地址中的参数
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- var r = Windows.location.search.substr(1).match(reg);
- if (r != null) return unescape(r[2]); return null;
- }
- </script>
更多 web 前端 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/18772.html