使用javascript从重写的URL中获取参数

时间:2011-11-10 21:26:28

标签: javascript regex url mod-rewrite

我正在尝试使用javascript获取url参数,因此我可以将参数传递给google地图

问题是我在网址上使用mod重写

  

www.mysite.com/1/my-event

而不是

  

www.mysite.com/mypage.php?id=1&name=my-event

我尝试过提醒但是空白

如果我不重写网址,的javascript函数

function gup( name ){
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

2 个答案:

答案 0 :(得分:6)

您的JavaScript无法使用带有查询字符串的重写格式。

您必须从location.pathname(示例中为/1/my-event)中获取值,而不是:

var params = window.location.pathname.split('/').slice(1); // ["1", "my-event"]

var id = params[0];
var name = params[1];

答案 1 :(得分:1)

只需在/个字符上拆分URL,然后获取结果数组中的最后一个元素,将它们映射到您期望的名称。