文档章节

js页面间参数传递

Liem_
 Liem_
发布于 2015/11/27 16:55
字数 411
阅读 122
收藏 10

版权声明:本文为博主原创文章,未经博主允许不得转载。

1传递参数的页面test01.htm

<script type="text/javascript">
    function send() {
        var url = "test02.htm"; 
        var userName = "这是谁";//假设参数值为这是谁

        window.open(encodeURI(url + "?userName=" + userName));

        //encodeURI编码
    }

</script>
<input id="btn" onclick="send()" value="点击" type="button" name="button"/>

 

2接受并显示参数页面test02.htm

<div id="show"></div>
<script type="text/javascript">
    var urlinfo = window.location.href;                                                                //获取url
    var userName = urlinfo.split("?")[1].split("=")[1];                                        //拆分url得到“=”号后面的值(先用split("?")[1]得到?号以后的值,再用split("=")[1]得到等号后面的值,split从0开始计数)
    document.getElementById("show").innerHTML = decodeURI(userName);//decodeURI解码

</script>

在浏览器中运行test01.htm  点击按钮,进入test02.htm

ie中地址栏显示 http://localhost:17591/网页3-6纯html/test02.htm?userName=%E8%BF%99%E6%98%AF%E8%B0%81

firefox中地址栏显示:http://localhost:17591/%E7%BD%91%E9%A1%B53-6%E7%BA%AFhtml/test02.htm?userName=%E8%BF%99%E6%98%AF%E8%B0%81

页面中均能显示“你是谁”

 

 

Js中escape,unescape,encodeURI,encodeURIComponent区别:

1.传递参数时候使用,encodeURIComponent否则url中很容易被”#”,”?”,”&”等敏感符号隔断。
2.url跳转时候使用,编码用encodeURI,解码用decodeURI
3.escape() 只是为0-255以外 ASCII字符 做转换工作,转换成的 %u**** 这样的码,如果要用更多的字符如 UTF-8字符库 就一定要用 encodeURIComponent() 或 encodeURI() 转换才可以成 %nn%nn 这的码才可以,其它情况下escape,encodeURI,encodeURIComponent编码结果相同,所以为了全球的统一化进程,在用 encodeURIComponent() 或 encodeURI() 代替 escape() 使用吧!

 

 


© 著作权归作者所有

共有 人打赏支持
Liem_
粉丝 16
博文 91
码字总数 30080
作品 0
江北
程序员
私信 提问
使用iframe解决Javascript跨域问题

在今年的baidu salon分享会上黄方荣主讲的《WEB数据交互的艺术》中提到一个非常优雅绝妙的解决方案!话不多说,直接上解决方案原理图: 该图要解决的问题说明如下: 在AAA.com域名下的index...

黄平俊
2010/08/13
5.8K
3
React Native iOS混合开发实战教程

在做RN开发的时候通常离不了JS 和Native之间的通信,比如:初始化RN时Native向JS传递数据,JS调用Native的相册选择图片,JS调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,...

JiaPengHui
09/15
0
0
A.jsp跳转到B.jsp传递值方法的扩展(结合jquery mobile)

A.jsp页面跳转到B.jsp页面,把A中的参数带到B页面中: 方法1:A页面用隐藏值接受要传递的参数: <input type="hidden" name="disId" value="" id="disId"/> <input type="hidden" name="dis......

EDIAGD
2013/09/05
0
0
Spring Boot入门(6)前端接受后台传参

基础知识   利用Spring Boot来制作Web应用,就必定会涉及到前端与后台之间互相传递参数。在Spring Boot的MVC模型中,如果采用Thymeleaf来渲染视图,则前端页面怎么才能获得后台运行传递的参...

jclian91
04/12
0
0
移动端SPA开发框架 - Staple

Staple是一个专为移动设备设计的SPA(单页面Web应用)开发框架。Staple解决了SPA应用开发过程中的许多细节问题,以便于让开发者专注与实际业务逻辑的开发。Staple基于Babel和RequireJS构建,...

蔡晓东
2017/02/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链安全 - 以太坊短地址攻击

1 基础知识 EVM虚拟机在解析合约的字节码时,依赖的是ABI的定义,从而去识别各个字段位于字节码的什么地方。关于ABI,可以阅读这个文档: https://github.com/ethereum/wiki/wiki/Ethereum-C...

HiBlock
9分钟前
0
0
自定义函数及内部函数

变量的作用域 局部变量 global $Global及其他超全局数组 静态变量 仅初始化赋值 保留于内存直到response才销毁 global和static变量的区别 global:局部变量全局话 static:定义静态局部变量 函...

关元
10分钟前
0
0

中国龙-扬科
22分钟前
1
0
python包

https://www.lfd.uci.edu/~gohlke/pythonlibs/

陆朋
33分钟前
1
0
一文弄懂“分布式锁”,一直以来你的选择依据正确吗?

本文主要会关注的问题是“分布式锁”的问题。 多线程情况下对共享资源的操作需要加锁,避免数据被写乱,在分布式系统中,这个问题也是存在的,此时就需要一个分布式锁服务。 常见的分布式锁实...

Java干货分享
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部