`

js获取当前url的中文参数

    博客分类:
  • ajax
阅读更多

问题源自于大傻同学的需求: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控制页面跳转的方法:

Code:
  1. 第一种:
  2. <scriptlanguage="javascript">
  3. window.navigate("top.jsp");
  4. </script>
  5. 第二种:
  6. <scriptlanguage="JavaScript">
  7. self.location='top.htm';
  8. </script>
  9. 第三种:
  10. <scriptlanguage="javascript"type="text/javascript">
  11. window.location.href="login.jsp?backurl="+window.location.href;
  12. </script>
  13. 第四种:
  14. <scriptlanguage="javascript">
  15. alert("返回上一页面");
  16. window.history.back(-1);
  17. </script>
  18. 第五种:
  19. <scriptlanguage="javascript">
  20. alert("非法访问,请终止!");
  21. top.location='xx.jsp';
  22. </script>

2.中文参数的编码和解码

http://www.w3school.com.cn/js/jsref_escape.asp

3.javascript解析url参数【把参数分离解析出来而已】

Code:
  1. <scripttype="text/javascript">
  2. varLocString=String(window.document.location.href);
  3. functiongetQueryStr(str){
  4. varrs=newRegExp("(^|)"+str+"=([^/&]*)(/&|$)","gi").exec(LocString),tmp;
  5. if(tmp=rs){
  6. returntmp[2];
  7. }
  8. //parametercannotbefound
  9. return"";
  10. }
  11. console.log(getQueryStr("parameter_name"));
  12. </script>

4.常识

 Jsp页面使用URL编码传递中文参数的情况下,在参数的解析过程中会出现乱码。由于java在设计的时候考虑到了国际化的问题,
在java源程序编译成字节码的时候默认使用的是UTF-8编码。而在web运用上,由于不同的浏览器向服务器发送的信息采用的编码
方式不同,在由像tomcat之类的服务器解码的时候会由于编码方式的不同而产生乱码,这是一个会困扰jsp初学者很久的问题。
【http://www.360doc.com/content/10/0317/10/633992_19086741.shtml】

下角同学问题的解决的Demo:
A.html
Code:
  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
  5. <title>test1</title>
  6. <scripttype="text/javascript">
  7. functionc(){
  8. vart=document.form1.t.value;
  9. console.log(t);
  10. console.log(escape(t));
  11. console.log(unescape(t));
  12. self.location='xiajiao2.html?t='+escape(t);
  13. }
  14. </script>
  15. </head>
  16. <body>
  17. <formid="form1"name="form1"action="xiajiao2.html"method="get">
  18. <inputtype="text"id="t"name="t"/>
  19. <inputtype="button"onclick="returnc()"value="搜索"/>
  20. <br/>
  21. 中国人
  22. </form>
  23. </body>
  24. </html>

B.html

Code:
  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
  5. <scriptlanguage="javascript"type="text/javascript"src="static/login_scr/jquery-1.3.2.js"></script>
  6. <title>test2</title>
  7. <scripttype="text/javascript">
  8. varLocString=String(window.document.location.href);
  9. functiongetQueryStr(str){
  10. varrs=newRegExp("(^|)"+str+"=([^/&]*)(/&|$)","gi").exec(LocString);
  11. vartmp;
  12. if(tmp=rs){
  13. returntmp[2];
  14. }
  15. return"";
  16. }
  17. $(document).ready(function(){
  18. console.log(unescape(getQueryStr("t")));
  19. alert(unescape(getQueryStr("t")));
  20. //vart=window.location.search.substring(1);
  21. });
  22. </script>
  23. </head>
  24. <body>
  25. 中国人
  26. <!--<formid="form1"action="xiajiao2.html"method="get">
  27. <inputtype="submit"onclick="returncheck_register()"value="搜索"/>
  28. </form>-->
  29. </body>
  30. </html>
分享到:
评论

相关推荐

    如何用js获取当前url的参数值

    如何用js获取当前url的参数值 如何用js获取当前url的参数值

    JS正则表达式替换url参数的方法

    具体代码如下所示: /* 定义替换对象键值 */ var setReferArgs = function(){ .../* 替换URL的参数 */ var replaceUrlParams = function(url){ var actualUrl = ""; var referArgs = setReferArgs(); for(var ke

    jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及

    nodejs实现获取当前url地址及url各种参数值

    当前url http://localhost:8888/select?aa=001&bb=002 var http = require(‘http’); var URL = require(‘url’); http.createServer(function(req, res){  var arg = url.parse(req.url).query; //方法一arg =...

    在JavaScript中获取请求的URL参数

    当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法。 其实我们也可以直接在js中获取请求的参数的值,通过使用[removed]....

    url.js-可操纵网页URL地址的js插件

    url.js是一款可以非常实用方便的操纵网页URL地址的js插件。通过url.js你可以设置和获取当前URL的参数,也可以对当前URL的参数进行更新,删除操作,还可以将当前URL的参数显示为json字符串或是一个对象形式。

    解析js如何获取当前url中的参数值并复制给input

    本篇文章是对js获取当前url中的参数值并复制给input的方法进行了详细的分析介绍,需要的朋友参考下

    asp获取URL参数的几种方法分析总结 原创

    方法一:简单,得不到参数,只有一个虚拟路径 代码如下:GetUrl =request(“url”) ‘这个因为我们没有url=什么字样所以直接pass掉 方法二:得到整个URL,得到参数 代码如下:‘得到当前页面的地址 Function Get...

    jQuery 获取URL参数的插件

    例如 当前你的URL是: //www.jb51.net/index.php?test=1&kk=2 如果想获取test,则可以引入插件后, 用如下方法获取: var test = $.query.get(‘test’); 如果参数有多个相同的名称 ,则可以这样: var arr = $....

    js获取或设置当前窗口url参数的小例子

    代码如下:// 获取当前窗口url中param参数的值function get_param(param){ var query = location.search.substring(1).split(‘&’); for(var i=0;i&lt;query.length;i++){ var kv = query[i].split(‘=’); if...

    JS截取url中问号后面参数的值信息

    JS截取url获取一些信息类似的文章可以在网上找很多,本文在重复讲述一遍,有不会的朋友可以巩固一下

    js如何准确获取当前页面url网址信息

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1、[removed...

    在JavaScript中获取请求的URL参数[正则]

    第一种方法:,代码比较专业 推荐 代码如下:[removed] function GetLocationParam(param){ var request = { QueryString : function(val) { var uri = [removed].search; var re = new RegExp(“” +val+ “=([^&?...

    js和php如何获取当前url的内容

    #测试网址: ... #/blog/testurl.php //获取网址参数 echo $_SERVER[“QUERY_STRING”].” ”; #id=5 //获取用户代理 echo $_SERVER[‘HTTP_REFERER’].” ”; //获取完整的url echo ‘http://’.$

    jQuery封装的获取Url中的Get参数示例

    此时可以使用js的方式得到当前页面的url中的get参数. 核心语句是: [removed].href 详细代码不解释了,有注释,你看了就懂.封装成jQuery扩展包. 代码如下: (function($){ $.extend({ /** * url get parameters * @...

    js获取当前页的URL与[removed].href简单方法

    利用JavaScript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数。 其实不是,Javascript获取当前页的URL的函数就是我们经常用来重定向的...

    javascript 获取url参数和script标签中获取url参数函数代码

    url paramter: 代码如下: //lastest: var getArgs=function() {//get url querystring var params=[removed].search,reg=/(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,temp,args={}; while((temp=reg.exec&#40;params&#41;)!=...

    php获取当前url地址的方法小结

    本文实例讲述了php获取当前url地址的方法。分享给大家供大家参考,具体如下: js 获取: top.location.href //顶级窗口的地址 this.location.href //当前窗口的地址 php获取当前url地址: #测试网址: ...

Global site tag (gtag.js) - Google Analytics