
jquery URL参数中文乱码问题的解决方法
方法一、正则分析法
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}调用方法:
alert(GetQueryString("参数名1"));方法二、使用encodeURI() 方法
encodeURI() 方法可把字符串作为 URI 进行编码,转码之后就不会乱码,同时如果传递参数中包含&、=等特殊字符转码之后不会在接受参数页面出现错误截取。必须进行两次编码,一次解码。
menu_manage_add.html?id=' + (id || '') + '&name=' + (name ? encodeURI(encodeURI(name)) : '')
decodeURI()方法可以解码。
decodeURI(getQueryString('name') || '')方法三、
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;
}调用方法:
var Request = new Object(); Request = GetRequest(); var 参数1,参数2; 参数1 = Request['参数1']; 参数2 = Request['参数2'];
如果参数中含有中文字符,注意转编码和解码:
1、传参页面
location.href = "${ctx}/web/resourceList?u=admin&keyword=" + encodeURI($("#keyword").val());2、接收参数页面
decodeURI(GetQueryString("keyword"))更多web前端知识,请查阅 HTML中文网 !!
以上就是jquery url中文乱码问题怎么解决?的详细内容,更多请关注易知道|edz.cc其它相关文章!











