jQuery url 中文乱码怎么办?
jQuery 获取 URL 中参数解决中文乱码问题的两种方法
从 A 页面通过 url 传参到 B 页面时, 获取 URL 中参数出现中文乱码问题, 解析 url 参数的正确方法如下:
从 A 页面通过 url 传参到 B 页面时, 解析 url 参数可以用下面两种方法:
方法一: 正则分析法
代码如下:
- 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;
- }
这样调用:
代码如下:
- alert(GetQueryString("参数名 1"));
- alert(GetQueryString("参数名 2"));
- alert(GetQueryString("参数名 3"));
方法二:
代码如下:
- <span style="font-size: 16px;">
- <Script language="javascript">
- function GetRequest() {
- var url = location.search; // 获取 url 中 "?" 符后的字串
- 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;
- }
- </Script>
- </span>
这样调用:
代码如下:
- <Script language="javascript">
- var Request = new Object();
- Request = GetRequest();
var 参数 1, 参数 2, 参数 3, 参数 N;
参数 1 = Request['参数 1'];
参数 2 = Request['参数 2'];
参数 3 = Request['参数 3'];
参数 N = Request['参数 N'];
</Script>
如果参数中含有中文字符, 注意转编码和解码:
代码如下:
<span style="font-size:18px;">1. 传参页面
JavaScript 代码:<script type="text/javascript">
- function send(){
- var url = "test01.html";
- var userName = $("#userName").HTML();
- Windows.open(encodeURI(url + "?userName=" + userName));
- }
- </script>
2. 接收参数页面: test02.HTML
- <script>
- var urlinfo = Windows.location.href; // 获取 url
- var userName = urlinfo.split("?")[1].split("=")[1]; // 拆分 url 得到 "=" 后面的参数
- $("#userName").HTML(decodeURI(userName));
- </script>
- </span>
更多 jQuery 的相关知识, 可访问: web 前端自学 https://www.html.cn/ !!
来源: http://www.css88.com/qa/jquery/18080.html