当前位置: 编程技术>jquery
如何解决jquery获取URL中参数中文乱码的问题
来源: 互联网 发布时间:2014-09-03
本文导语: 在两个页面间通过URL传递数据时,解析url参数可以使用如下的两种方法。 方法一:正则分析法 代码示例: function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if...
在两个页面间通过URL传递数据时,解析url参数可以使用如下的两种方法。
方法一:正则分析法
代码示例:
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
调用:
代码示例:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
方法二:
代码示例:
function GetRequest() {
// www.
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;
}
调用:
代码示例:
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
关键问题:如果参数中含有中文字符,请注意转编码和解码:
1,传参页面
Js代码:
代码示例:
function send(){
var url = "test01.html";
var userName = $("#userName").html();
window.open(encodeURI(url + "?userName=" + userName)); }
2,接收参数页面:test02.html
代码示例:
var urlinfo = window.location.href;//获取url
var userName = urlinfo.split(“?”)[1].split(“=”)[1]; //拆分url得到”=”后面的参数
$(“#userName”).html(decodeURI(userName));