Javascript 获取地址栏里(URL)传递的参数

有时我们需要在js文件中用URL传来的参数,但是Javascript是客户端执行的脚本语言,而Session是服务器端的对象,我们不能直接取得Session中的值。那么,我们该如何在JS文件中获取URL中的参数呢?
下面介绍两种方式,一种是字符串拆分法,另一种是正则匹配法。

第一种:字符串拆分法

这种方式是通过location.search方法取得URL中的参数部分,然后再进一步处理得到的。具体代码如下:

[javascript] 

//获取地址栏里(URL)传递的参数  

function GetRequest() {  

    //url例子:XXX.aspx?ID=" + ID + "&Name=" + Name;  

    var url = location.search; //获取url中"?"符以及其后的字串  

    var theRequest = new Object();  

    if(url.indexOf("?") != -1)//url中存在问号,也就说有参数。  

    {   

      var str = url.substr(1);  

        strs = str.split("&");  

      for(var i = 0; i < strs.length; i ++)  

        {   

         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);  

        }  

    }  

    return theRequest;  

}  

调用函数代码:

[javascript]  

var Request = new Object();  

//获取url中的参数  

Request = GetRequest();  

var ID, Name; //ID、名字  

ID = Request[‘ID‘]; //ID  

Name = Request[‘Name‘]; //名字  

第二种:正则匹配法

这种方法其实原理和上一种方法类似,都是从URL中提取,只是提取的方法不同而已。

[javascript]  

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;  

}     

调用代码:

[javascript]  

var ID;  

ID = GetQueryString("ID");  

以上就是Javascript中获取URL中参数的两种方法。
时间: 2024-12-31 05:06:03

Javascript 获取地址栏里(URL)传递的参数的相关文章

js获取iframe通过url传递的参数

获取iframe的url路径:window.parent.document.getElementById("Ateon-SetParent-iframe").contentWindow.location.search //需要iframe的ID 根据参数名称通过正则获取参数值 function geturl (name) { var reg = new RegExp("[^\?&]?" + encodeURI(name) + "=[^&]+

JavaScript获取地址栏中的参数

1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&password=123456&type=student (2)获取地址栏中的最后一个参数type 2.实现的JS function getAddressURLParam(paramName) { //构造一个含有目标参数的正则表达式的对象 var reg = new RegExp("(^|&)" + paramN

.NET 获取Get方式URL中的参数键值

在Web开发中,我们常常会涉及到需要获取Get方式URL中的参数键值的情况,这里简单介绍三种方法: 第一种:常用的做法有使用JavaScript获取location.href后用正则表达式匹配获取此URL的所有键值对: 第二种:这里比如有个Key参数键,需要获取它对应的值:这时可以使用.NET里的Request.Form["Key"](针对Post)或Request.QueryString["Key"](针对Get),也可以用Request["Key&qu

Javascript获取地址栏参数值

采用正则表达式获取地址栏参数: 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(GetQu

JavaScript获取地址栏中的参数值并存入一个对象

1 var getArgs = function () 2 { 3 var args = new Object(); //声明一个空对象 4 var query = window.location.search.substring(1); // 取查询字符串 5 var pairs = query.split("&"); // 以 & 符分开成数组 6 for(var i = 0; i < pairs.length; i++) { 7 var pos = pair

URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致

下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为"博客雷观" 这个栏目,增加了"全文搜索"功能,用lucene实现的.因此,需要传递中文参数.搜索框表单提交,传递中文,很简单就搞定了. 搜索之后的分页url,需要带上当前的"搜索词" ,比如"程序员",我在本地很轻松就搞定了.无非就是这样

url 传递中文参数乱码问题的终极解决方法。

估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf-8 或者gb2312. encodeURI(url),也有人说要2个encodeURI,如:window.location.href = encodeURI('b.html?cId='+id+"&cName="+encodeURIComponent(name)); 然后后台Str

JS URL传递中文参数时出现乱码的处理

原文:JS URL传递中文参数时出现乱码的处理 在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想要的值.怎么办呢?这里写出来的只是自己的解决方法,也许不能通用,跟大家分享下,有更好的方法,告我一声.      //得到url中的值 function request(paras){ var url = location.href; var para

js获取url传递的参数

获取URL带参数的JAVASCRIPT客户端解决方案 一.正则分析法.(我较喜欢使用正则)function GetQueryString(name) {var reg = new RegExp(“(^|&)” + name + “=([^&]*)(&|$)”,”i”);var r = window.location.search.substr(1).match(reg);if (r!=null) return (r[2]); return null;}alert(GetQueryS