JS-获取URL请求参数
前言:原来做过一个项目,需要实现一个页面打印的功能,由于项目中使用了AngularJS+Bootstrap等前端框架,需要打印的页面又在弹出框中,使用了Bootstrap的模态框后发现打印的效果不太好,后来就使用原生的方式弹出一个新的窗口,不过新的窗口中的某些数据又需要从前一个页面中获取,使用AngularJS框架后发现从后台返回的页面总是被封装成一个对象,压根展现不了,怎么办?下面的这个小方法就是用于解决这个问题的——页面间跳转,在需要传递的参数不多的情况下,使用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:如下图所示,是实例代码演示的效果
6:小结
此例思路、代码都比较简单,不过不容易想的到,以前做的项目牵涉到页面间跳转需要传递参数的,几乎全部都是将参数传送到后端,然后从后端再传送到前端的。很少使用这种前端页面间通过URL来传递参数的方式,不过这种方式有时候也是可行。
JS-获取URL请求参数的更多相关文章
- JS获取url请求参数
JS获取url请求参数,代码如下: // 获取url请求参数 function getQueryParams() { var query = location.search.substring(1) ...
- js获取URL请求参数与改变src
js实现: <script> function GetQueryString(name) { var reg = new RegExp("(^|&)" + na ...
- js获取url中参数名也参数值
要撮利用js获取url中参数名也参数值这个不多见了,但我今天需要这样操作,下面我来给大家介绍一下具体的实例方法. 在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到. js的实现方法如下 ...
- js获取url的参数和值的N种有效方法
js获取url的参数和值的N种有效方法 function getParameterByName(name) { name = name.replace(/[\[]/, "\\\[" ...
- js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数
第一种:参数只能是英文的 function getQuery(name) { var reg = new RegExp("(^|&)" + name + "=([ ...
- js获取url地址栏参数
前端开发中经常会遇到需要获取url地址栏参数问题 方法如下: function getQueryStringByName(name){ var src = "www.baidu.com?na ...
- js 获取url具体参数
用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new ...
- 【记录】JS 获取 URL 中文参数编码
比如 URL:http://www.xxxx.com/中文参数 这个在 js 获取"中文参数"的时候会出现乱码. 解决方法:decodeURIComponent(获取的中文参数);
- js获取url传递参数(转的,原作不详)
这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET 函数: <Script languag ...
- springboot获取URL请求参数的多种方式
1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @pa ...
随机推荐
- oracle 报警日志详解
oracle报警日志是一个非常重要的日志,其有两种实现方法: 1.通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了 2.通过外部表来实现,这种方法避免了方法一种的 ...
- Mysql 声明变量
Mysql 声明变量 Mysql中声明变量有两种方式 第一种: set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量 第二种: select @num ...
- SpringMVC——返回JSON数据&&文件上传下载
--------------------------------------------返回JSON数据------------------------------------------------ ...
- comboBox 手动输入后回车自动更新数据
C# Winform ComboBox 在输入内容时 会在下拉菜单中显示 根据输入内容查询的结果 2014-01-02 16:42匿名 | 浏览 713 次 C# ComboBox 在输入内容时 会在 ...
- socket入门基础
#/usr/bin/python #-*- coding:utf-8 -*- import socket ip_port = ('127.0.0.1',111) #创建socket对象 sk = so ...
- VS2010 使用 EntityFramework For SQL Server Compact 4.0
1.安装 SSCERuntime_x64-ENU.exe 或 SSCERuntime_x86-ENU.exe 2.安装 SSCEVSTools-CHS.msi 3.然后就可以通过 SQL Server ...
- [Linux] - Virtualbox-CentOS动态增加分区空间方法
VirtualBox使用中,有时会因为当初分配空间不足导致出问题,可以使用如下方式增加分区空间: 一.VirtualBox设置: 1)到VirtualBox的安装目录下找到这个命令exe文件:vbox ...
- 在Win8中用批处理创建Oracle数据库时报“Unable to open file”
这一问题的原因是在运行批处理时使用了“以管理员权限运行”.如果直接双击运行是没有问题的. 如果我就想用管理员权限运行呢? 出这个错误的原因是,以管理员权限运行时的当前目录不是批处理所在的目录了.所以, ...
- Python入门5
装饰器 装饰器英文Decorator,自身是一个函数,用来包装其它的函数,实现在不改变原来代码的情况下,增加新的功能,返回一个修改后的函数对象, 装饰器功能: 1.装饰器也是函数 2.在不改变原有代码 ...
- 【Jsch】使用SSH协议连接到远程Shell执行脚本
如果大家熟悉Linux的话,一定对ssh,sftp,scp等命令非常熟悉,ssh是一个安全协议,用来在不同系统或者服务器之间进行安全连接,SSH 在连接和传送的过程中会加密所有的数据. 但是SSH一般 ...