<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title>QueryString获取演示代码</title>
<script type="text/javascript">
function getQueryString()
{
//var aa=unescape(location.href);
//alert(aa);
//var ee=decodeURI(aa);
//alert(ee);
var result=location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
if(result!=null)
{
for(var i=0;i<result.length;i++)
{
result[i]=result[i].substring(1);
}
return result;
}
return null;
}
</script>
</head>
<body>
<form name="frm" method="get">
<input type="text" name="aa" value="" />
<input type="submit" value="Submit" />
</form>
<div>
<span>QueryString : </span><span id="queryString"></span>
</div>
<!--页面加载时执行的操作-->
<script type="text/javascript">
//显示所有QueryString
document.getElementById("queryString").innerHTML = getQueryString();
</script>
</body>
</html>在文本框中输入中文,点击提交按钮,得到的查询字符串:?aa=%CD%E6%CD%EA
这种情况下,我可以直接将乱码的字符,转换成原来的中文字符吗?
如果之前的中文用encodeURI()进行编码,之后在用decodeURI()进行解码,这样的话应该是可以的。
直接用js的decodeURI()也不行的。
错误:被解码的URI不是合法的编码
http://www.ialvin.cn/util/py.htm
默认的时候是get,但get不安全,而且url不得超过255个字符
它也有个弊端,就是在传中文的时候会乱码,所以要转码,还有超连接也是get提交
,所以超链接在传中文字符的时候也要转码不过我不会js转码,我会jsp你把你的提交方式改为post不就可以了吗!~~
或者encodeURIComponent(encodeURIComponent("你的内容"),后台转码java.net.URLDecoder.decode("你的内容", "UTF-8");