有没有开源方法能直接获取url的参数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有开源方法能直接获取url的参数值相关的知识,希望对你有一定的参考价值。

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作

1、jquery获取url很简单,代码如下:

window.location.href;

其实只是用到了javascript的基础的window对象,并没有用jquery的知识。

2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情

首先看看单纯的通过javascript是如何来获取url中的某个参数:

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


通过这个函数传递url中的参数名就可以获取到参数的值,比如url为

http://localhost:33064/WebForm2.aspx?reurl=WebForm1.aspx

我们要获取reurl的值,可以这样写:

var xx = getUrlParam('reurl');

明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代码为jquery扩展了一个getUrlParam()方法

(function ($)
$.getUrlParam = function (name)
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;

)(jQuery);

为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:

var xx = $.getUrlParam('reurl');

完整代码:

<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function ()

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

)(jQuery);

//方法二:
var xx = $.getUrlParam('reurl');

//方法一:
// var xx = getUrlParam('reurl');

alert(xx);

);

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


</script>
参考技术A 你这个不是很正确。用下面这个functiongetArgs()varargs=newObject();varquery=location.search.substring(1);//获取?后面所有参数varpairs=query.split("&");//分割for(vari=0;i<pairs.length;i++)varpos=pairs[i].indexOf('=');//查找类似与"name=value"if(pos==-1)continue;//没找到varargname=pairs[i].substring(0,pos);//取得参数名(如name)varvalue=pairs[i].substring(pos+1);//取得值name参数的值value=decodeURIComponent(value);//这个是反编码如果传递的是中文并且htmlencode了就要decode一下args[argname]=value;//赋值returnargs;//返回参数集合

get与post 获取参数值的方式

get方式  参数带在url后面,form表单中的域  可以 没有value 属性, 后台可以直接在方法的参数中加入和url一样的参数就能直接获得该参数的值(效率高,不安全)

post方式 url链接不带参数,以块的形式发送,但是form表单中的 域 必须要有value 属性,否则在后台是不能取到的(参数值不带在url后面,安全)

这两种方式后台取值的方式是request.getParameter("参数名称")

post方式中文要转码

以上是关于有没有开源方法能直接获取url的参数值的主要内容,如果未能解决你的问题,请参考以下文章

js获取url地址的参数的方法

在JS中获取没有值的URL参数[重复]

如何获取没有值的 URL 参数?

三个获取浏览器URL中参数值的方法

URL获取参数值

js方法实现获取url中的参数值