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来传递参数的方式,不过这种方式有时候也是可行。

时间: 2024-10-12 04:33:25

JS-获取URL请求参数的相关文章

js获取url请求参数

function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } // 调用方法 alert(GetQueryString("

js获取url传递参数

js获取url传递参数 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET函数: <Script language="javascript"> function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (ur

js获取url的参数和值的N种有效方法

js获取url的参数和值的N种有效方法 function getParameterByName(name) { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexS = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results =

js获取url传递参数(转)

js获取url传递参数 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET函数: <Script language="javascript"> function GetRequest() {     var url = location.search; //获取url中"?"符后的字串    var theRequest = new Object();

springboot获取URL请求参数的几种方法

原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1

js获取url传递参数,js获取url?号后面的参数

方法一.正则表达式 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } 方法二.

js 获取url各个参数。

javascript 获取当前 URL 参数的两种方法: //返回的是字符串形式的参数,例如:class_id=3&id=2& function getUrlArgStr(){ var q=location.search.substr(1); var qs=q.split('&'); var argStr='';  if(qs){ for(var i=0;i<qs.length;i++){ argStr+=qs[i].substring(0,qs[i].indexOf('='

js获取url的参数

好久没有写博客,今天记录一下. 需求:获取当前页面url中带有的参数 1.定义一个GetRequest()方法 1 //获取url中的参数,如code 2 function GetRequest() { 3 var url = location.search; //获取url中"?"符后的字串 4 var theRequest = new Object(); 5 if (url.indexOf("?") != -1) { 6 var str = url.substr

JS获取url地址栏参数

window.onload = function(){ //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null)

js获取url传递参数的写法

获取url地址?后面参数值的写法 正则: 1 function GetQueryString(name) 2 { 3 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 4 var r = window.location.search.substr(1).match(reg); 5 if(r!=null)return unescape(r[2]); return null; 6 } 7