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其它相关文章!