采用正则表达式获取地址栏参数或通过后台来获取地址栏参数

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;
}

1、通过JS获取

调用方法:alert(GetQueryString("参数名"))

实例解析:

若地址栏的url为:Menu.aspx?Index=2&id=44

要想获取到id的值,那么调用上面的方法alert(GetQueryString("id")),则会弹出44,如果得到index的值,同上。

当然如果你没有传参数的话,比如你的地址是 Menu.aspx 后面没有参数,那强行输出调用结果有的时候会报错,现在就得判断一下:

1 var myurl = GetQueryString("Index");
2 if (myurl != null && myurl.toString().length>1) {
3      alert(myurl)
4 }

 2、通过后台获取

通过后台获取需要在第一个页面的ajax里把要用到的值通过url传过去

比如:Menu.aspx?Index=2&id=44&FromUserName=22

然后再第二个页面用隐藏域来获取

前台:<input type="hidden" id="hdStrWorklogID" runat="server" />

后台: hdStrWorklogID.Value = Request.QueryString["FromUserName"].ToString().Trim();

这样就可以获取到了,直接在js里调用隐藏域的值就可以了

posted @ 2015-04-07 15:27  (●—●)  阅读(288)  评论(0编辑  收藏  举报