js 不同页面间传递值并取值

来源:互联网 发布:网络推广的岗位职责 编辑:程序博客网 时间:2024/06/08 05:34

以前没用到过页面间传递参数再从后台获取数据,然后搜索了一下。

发现了一个比较好的方法:

1.先说需求:现在有页面pageA.html 和页面pageB.html,页面pageA.html中有一事件,当这个事件触发时会打开页面pageB.html。而且页面pageB.html中的一些内容需要根据pageA.html 中的一些值来判断显示哪些内容。

2.解决方法

举例:(1) pageA.html 中的事件为 window.open('pageB.html')或者href="pageB.html"也行。

   (2)我们把要传递的值加到要打开页面的地址后面:window.open('pageB.html?name&code&....')。

其中name、code等就是要传递的值。&是为便于取多个值而加的分隔符,用'-'、'|'等符号也行,下面会在用到的时候说明其作用(不加也行)。

   (3)使用 window.location.search()方法获取地址栏要传递的参数。等到"?name&code"。可以把其赋给一个变量:var perimeters =  window.location.search;

(4)因为'?'也会被取到所以要用perimeters.substr(1)取到'?'之后的值。

(5)再把取到的值分割成包含一个一个值的数组,用perimeters.substr(1).split('&'),split('&')的作用就是以'&'为标记,把字符串分割成字符串数组。这里面'&'的作用就凸现出来了。

(6)到这里基本上就能得到想要的值了。不过还会遇到一个问题,如果值是字母、数字显示是正常的,可如果传递的值是汉字就会出现乱码。这里就要用到decodeURI()方法来转换一下,就像:

decodeURI(perimeters.substr(1).split('&')[0]);就OK了。


1 0
原创粉丝点击