<head runat="server">
<title></title>
<script type="text/javascript" src="http://include.manmango.com/js/jquery-1.6.1.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var c = 2
var timeVal = setInterval(function () {
$("#timer").val(c)
if(c == 0){
clearTimeout(timeVal)
window.location.href = "Default2.aspx?user_id=" + $("#Label1").text() //向页面Default2传递值
}
c--
}, 1000)
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="timer" runat="server"></asp:TextBox>
<asp:Label ID="Label1" runat="server" >5</asp:Label>
</div>
</form>
</body>
</html>
有时候,为了隐藏页面之间传递的参数,不会用直接路由加参数的形式去跳转,而是利用post方法,我们都知道post方法传递参数时,参数并不现实在url里面
post传参并跳转
1、escape对ansi码0-255以外的字符进行编码输出%u****格式即unicode值,escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20"escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
2、encodeURI类似escape,用于地址栏编码
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,,=,?,@,_,~,0-9,a-z,A-Z
3、encodeURIComponent用于地址栏编码。将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。它是将中文、韩文等特殊字符转换成utf-8格式的url编码,如果你的页面编码是gb2312的话,服务器端接收的将是乱码.
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
所以js使用数据时可以使用escape,对于地址栏数据,最好用encodeURIComponent进行编码
例如:
前台jsp中js:
var str="method=submit2&type="+type+"&typep="+typep
str=encodeURI(str)
var tempAction='ImageServlet.do?+str
document.myform.action=tempAction;
后台java代码:
String typep=HttpServletRequest.getSession().getAttribute("typep")//不同的框架不同得到参数方式。
typep= java.net.URLDecoder.decode(typep,"UTF-8")//Decoder.decode()解码