js获取当前url的中文参数
     问题源自于大傻同学的需求:A.html的参数传给B.html。必须是在B.html中用js代码来获取该url中的中文参数。。。
网上的类似问题:http://bbs.chinaunix.net/viewthread.php?tid=887933 未解决。
 正常情况下,我们在后台获取request传递过来的中文参数都比较好处理。但是这哥们,是直接从html页面跳转到另一个html页面中,然后当另一个html加载完后运行js来获取当前的url中的中文参数。实际上浏览器在把参数传递过来的时候,已不在是中文了,而是%2F%B0%D9%B6%C8%BF%D5%BC%E4格式的字符串了。即使url中显示的是中文,使用window.location.search.substring(1)获取的字段也是类似于%2F%B0%D9%B6%C8%BF%D5%BC%E4的字符串。
 显然到这一步为止,我们希望有一个js自带的函数把%2F%B0%D9%B6%C8%BF%D5%BC%E4这样的字符串解析了就行了。
 实际上,确实存在这样的一个函数。哈哈哈,这样问题就解决了。先对中文进行编码,然后解码。
通过解决这个问题还学了不少js的东西。
1.js控制页面跳转的方法:
- 第一种: 
 
- 
<scriptlanguage="javascript"> 
 
- 
window.navigate("top.jsp"); 
 
- </script> 
 
- 
 - 第二种: 
 
- 
<scriptlanguage="JavaScript"> 
 
- 
self.location='top.htm'; 
 
- </script> 
 
- 第三种: 
 
- 
<scriptlanguage="javascript"type="text/javascript"> 
 
- 
window.location.href="login.jsp?backurl="+window.location.href; 
 
- </script> 
 
- 
 - 第四种: 
 
- 
<scriptlanguage="javascript"> 
 
- 
alert("返回上一页面"); 
 
- window.history.back(-1); 
 
- </script> 
 
- 
 - 第五种: 
 
- 
<scriptlanguage="javascript"> 
 
- 
alert("非法访问,请终止!"); 
 
- 
top.location='xx.jsp'; 
 
- </script>
 
 
2.中文参数的编码和解码
http://www.w3school.com.cn/js/jsref_escape.asp
3.javascript解析url参数【把参数分离解析出来而已】
- <scripttype="text/javascript"> 
 
- 
varLocString=String(window.document.location.href); 
 
-  
 
- 
functiongetQueryStr(str){ 
 
- 
varrs=newRegExp("(^|)"+str+"=([^/&]*)(/&|$)","gi").exec(LocString),tmp; 
 
-  
 
- 
if(tmp=rs){ 
 
- 
returntmp[2]; 
 
- } 
 
-  
 
- 
 
- 
return""; 
 
- } 
 
- 
 - 
console.log(getQueryStr("parameter_name")); 
 
- </script> 
 
 
4.常识
 Jsp页面使用URL编码传递中文参数的情况下,在参数的解析过程中会出现乱码。由于java在设计的时候考虑到了国际