`

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的参数值

    本文将详细介绍一种使用JavaScript来解析并获取当前URL参数的方法。 #### 方法概述 在给定的代码示例中,作者定义了一个名为`request`的函数,该函数接受一个参数`paras`,用于指定想要获取的查询参数名称。函数的...

    js获取url参数

    本文将详细介绍一种利用自定义函数`getUrlParam`来获取URL参数的方法,并对其进行深入解析。 #### 二、基础知识回顾 ##### 2.1 URL 结构 URL(Uniform Resource Locator)是统一资源定位符,用于标识互联网上的...

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

    其次,文件内容中还涉及了如何在客户端使用JavaScript获取当前URL地址及各种属性值。这通常是网页脚本中的一部分,通过window对象提供的不同属性来实现: - `document.location`、`document.URL`、`document....

    js获取url参数.rar url参数获取

    在JavaScript编程中,获取URL参数是一项常见的任务,特别是在构建动态Web应用时。URL(Uniform Resource Locator)是网页的地址,而URL参数则是附加在URL后面,用于传递额外信息的键值对。这些参数通常以问号(?)...

    javascript获取url上的参数.rar

    获取URL参数的常用方法是解析这个查询字符串。以下是一种实现方式: ```javascript function getURLParameters(url) { var params = {}; var parser = document.createElement('a'); parser.href = url || ...

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

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

    jquery获取URL中参数解决中文乱码问题的两种方法

    以上就是解决在使用jQuery获取URL参数时出现中文乱码问题的两种方法,以及相关的编码和解码处理方式。需要注意的是,乱码问题的出现主要是由于编码和解码不一致导致的,所以在前后端处理URL参数时,一定要注意正确地...

    JavaScript获取链接url参数并生成对象

    标题"JavaScript获取链接url参数并生成对象"指出了我们需要从URL中提取这些参数,并将它们组织成一个JavaScript对象。这个对象的键将是参数名,值将是对应的参数值。这样做可以方便地对参数进行操作,如遍历、修改或...

    jquery_query_js获取url参数

    总结来说,jQuery Query Object提供了一套简洁的API,用于处理URL参数,它极大地简化了在JavaScript中获取和操作URL参数的工作。通过正确理解和运用这些方法,开发者可以更高效地处理与URL参数相关的各种任务。

    php获取URL中带#号等特殊符号参数的解决方法

    本篇知识点将详细探讨如何在PHP中获取带有特殊符号,如井号(#)的URL参数,并介绍如何使用JavaScript的escape函数对这些特殊字符进行编码,从而实现正确地在服务器端获取这些参数。 首先,我们来看看URL编码的基础...

    JS 获取当前页面的URL

    它包含了关于当前URL的所有信息,如协议、主机名、路径、查询字符串和哈希值等。以下是一些常用的方法和属性: 1. `window.location.href`:这个属性返回或设置整个URL。例如,如果你的页面URL是`...

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

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

    js获取地址栏参数

    通过以上介绍,我们可以看出JavaScript提供了多种获取URL参数的方法。其中正则表达式方法虽然较为传统,但在兼容性和灵活性方面表现良好;而`URLSearchParams` API则更适合现代Web应用的需求。在实际开发中,可以...

    JS 获取静态页面的参数

    以下是一个简单的示例,展示了如何使用JavaScript获取URL参数: ```javascript function getQueryParams(url) { var queryParams = {}; var parser = document.createElement('a'); parser.href = url || window...

    JS获取地址栏url所有信息的方法

    6. 获取 URL 的查询部分:使用 `window.location.search` 可以获取 URL 的查询部分,用于给动态语言赋值以外,我们同样可以给静态页面,并使用 JavaScript 来获得相应的参数值。 例子:`?utm_medium=bb&utm_source=...

    JqueryUrl参数获取

    总结,jQuery虽然没有内置的URL参数获取方法,但结合JavaScript的原生API,我们可以轻松实现这一功能。在实际开发中,务必考虑浏览器兼容性,特别是在处理老版本的Internet Explorer时。同时,合理利用URL参数,可以...

    js获取url中携带的参数

    以下我们将详细探讨如何在JavaScript中获取URL参数。 首先,让我们了解URL结构。一个完整的URL通常由协议(如http或https)、主机名、路径和查询字符串组成。查询字符串是URL中"?"后面的部分,包含了所有参数。每个...

    javascript 取Url参数和去掉字符串前后空格方法

    ### JavaScript 获取URL参数和去除字符串前后空格的方法 在日常的Web开发中,经常会遇到需要获取URL中的参数或处理字符串的情况。例如,在用户点击某个链接或者表单提交后,我们可能需要从URL中提取出某些特定的...

    页面跳转js获取传递的参数

    #### 方法五:解析URL参数 ```javascript // 解析URL中的参数并存储到数组中 var URLParams = new Array(); var aParams = document.location.search.substr(1).split('&'); for (var i = 0; i ; i++) { var a...

Global site tag (gtag.js) - Google Analytics