JS-获取URL请求参数

摘要:
varurlParameters=位置。搜索;//将请求的参数更改为&字符串数组parameterArray=参数。split('&i<您还可以在此页面上获取相应的请求参数<ahref=“home.html”>ahref:“index.html”&gt,ahref=”home.html;name=猪八戒&

前言:原来做过一个项目,需要实现一个页面打印的功能,由于项目中使用了AngularJS+Bootstrap等前端框架,需要打印的页面又在弹出框中,使用了Bootstrap的模态框后发现打印的效果不太好,后来就使用原生的方式弹出一个新的窗口,不过新的窗口中的某些数据又需要从前一个页面中获取,使用AngularJS框架后发现从后台返回的页面总是被封装成一个对象,压根展现不了,怎么办?下面的这个小方法就是用于解决这个问题的——页面间跳转,在需要传递的参数不多的情况下,使用URL路径来传递参数。代码比较简单,在此小记一笔,兴许以后能用得到,至少明白这种思路是怎么回事。

1:为了方便实例的演示,将演示的静态文件放在了同一个目录下

JS-获取URL请求参数第1张

2:getRequestParameters.js文件,专门用于获取GET请求中的参数,此文件是此次小白例的核心代码,注释详细不多说了

(function(){
    //返回当前 URL 的查询部分(问号 ? 之后的部分)。
    var urlParameters = location.search;
    //声明并初始化接收请求参数的对象
    var requestParameters = new Object();
    //如果该求青中有请求的参数,则获取请求的参数,否则打印提示此请求没有请求的参数
    if (urlParameters.indexOf('?') != -1)
    {
        //获取请求参数的字符串
        var parameters = decodeURI(urlParameters.substr(1));
        //将请求的参数以&分割中字符串数组
        parameterArray = parameters.split('&');
        //循环遍历,将请求的参数封装到请求参数的对象之中
        for (var i = 0; i < parameterArray.length; i++) {
            requestParameters[parameterArray[i].split('=')[0]] = (parameterArray[i].split('=')[1]);
        }
        console.info('theRequest is =====',requestParameters);
    }
    else
    {
        console.info('There is no request parameters');
    }
    return requestParameters;
})();

3:home.html文件,假设这个简单的页面就是第一个页面,实验证实了一下,在本页面中也能拿到对应的请求参数

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>Home Page</title>
        <!-- 引入获取页面请求条件的JS文件 -->
        <script type="text/javascript" src="getRequestParameters.js"></script>
    </head>
    <body bgcolor="LightCyan" align="center">
        <a href="home.html">I will go to Home Page and no request  parameters</a>
        <br/>
        <a href="index.html">I will go to Index Page and no request  parameters</a>
        <br/>
        <a href="home.html?name=猪八戒&sex=boy&age=99">I will go to Home Page and bring request parameters</a>
        <br/>
        <a href="index.html?name=猪八戒&sex=boy&age=99">I will go to Index Page and bring request parameters</a>
    </body>
</html>

4:index.html文件,这个文件就是我们假设要跳转的静态文件,非常简单,仅供实例演示使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>Index Page</title>
        <!-- 引入获取页面请求条件的JS文件 -->
        <script type="text/javascript" src="getRequestParameters.js"></script>
    </head>
    <body bgcolor="AliceBlue" align="center">
    </body>
</html>

5:如下图所示,是实例代码演示的效果

JS-获取URL请求参数第2张

JS-获取URL请求参数第3张

JS-获取URL请求参数第4张

JS-获取URL请求参数第5张

6:小结

此例思路、代码都比较简单,不过不容易想的到,以前做的项目牵涉到页面间跳转需要传递参数的,几乎全部都是将参数传送到后端,然后从后端再传送到前端的。很少使用这种前端页面间通过URL来传递参数的方式,不过这种方式有时候也是可行。

免责声明:文章转载自《JS-获取URL请求参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)对xml文档数据的读取下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS-七大查找算法

顺序查找 二分查找 插值查找 斐波那契查找 树表查找 分块查找  哈希查找 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找算法分类:1)静态查找和动态查找;注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。2)无序查找和有序查找。无序查找:被查找数列有序无序均可;有序查找:被查找数列...

生成公钥和私钥----OpenSSL和keytool

方法一:使用openssl生成rsa密钥对 密钥长度介于 512 - 65536 之间(JDK 中默认长度是1024),且必须是64 的倍数。密钥的常用文件格式有pem(文本存储)或者der(二进制存储)。 当使用Java API生成RSA密钥对时,公钥以X.509格式编码,私钥以PKCS#8格式编码。 RSA使用pkcs协议定义密钥的存储结构等内容 O...

Oracle(安装PLSQL、注册、配置环境变量)

1、PLSQL安装 (1)双击plsqldev1000.exe后点击确定:  (2)选择路径(路径不能带有括号、空格、汉字): (3)下一步:  (4)finish:  (5)close:  (6)桌面生成图标:  (7) 双击图标后点击取消:  (8)进入主界面后要进行注册:  (9)点击注册:  (10)tools下的preferen...

stm32——NFC芯片--PN532的使用

stm32——NFC芯片--PN532的使用一、NFC简介   NFC(Near Field Communication)近场通信,是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三种。目前近场通信已通过成为ISO/IEC IS 18092国际标准、ECMA-3...

MYSQL数据库学习十四 存储过程和函数的操作

14.1 为什么使用存储过程和函数  一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句。 存储过程和函数的优点: 允许标准组件式编程,提高了SQL语句的重用性、共享性和可移植性。 实现较快的执行速度,减少网络流量。 可以被作为一种安全机制来利用。 存储过程和函数的缺点: 编写比单句SQL复杂...

make编写教程(一)

1. make规则 如果工程没有被编译过,则所有的c文件都要编译和链接 如果工程的某几个c文件被修改,那么只编译被修改的文件,并链接目标程序 如果工程的头文件被修改,需要编译引用了此头文件的c文件,并链接目标程序 2. make的核心 target:prerequisites command target: 为目标文件,执行文件或标签(伪目标) prere...