jQuery从url获取信息

时间:2012-07-18 09:09:10

标签: jquery html url jquery-selectors get

我正在寻找一个像PHP的$ _GET一样的jQuery代码。在像http://example.com/index.php?page=pics&action=show这样的链接中,我希望获得“页面”和“操作”值。在PHP中它很容易完成,但我需要在jQuery中。我试图用$(location).attr('href');得到整个网址,但后来我必须过滤它,我很确定有一种更简单的方法。

感谢您的建议。

2 个答案:

答案 0 :(得分:2)

有很多方法可以列出here。 我推荐JQuery URL Parser

只需将URL解析器脚本添加到您的页面并按以下方式使用

$.url('http://xyz.com?param1=abc&param2=def').param('param1'); // returns 'abc'

答案 1 :(得分:1)

我为上述解决方案做了完整的垃圾箱。

按照以下步骤操作:

1)包含最新的jquery.js文件。

2)包含querystring-0.9.0.js以获取js中的查询字符串变量值。

3)HTML:

<a href="#?param1=abc&param2=def">
  abc
</a>

这里我使用了“#?param1 = abc&amp; param2 = def”,因为在bin上不可能重定向页面并执行我们的java脚本,所以我刚刚在同一页面上添加了查询字符串并进行测试。

4)脚本标签中的jQuery:

$(function() {
    $("a").click(function() {
        setTimeout(function() {
            var param1 = $.QueryString("param1");
            var param2 = $.QueryString("param2");
            alert(param1);
            alert(param2);
        }, 300);

    });
});

上面的脚本工作正常,如果在同一页面上添加了查询字符串,但是对于不同的页面导航,你必须删除setTimeout函数,但保留脚本,因为它在里面并执行这些语句,如下所示使用查询字符串导航的页面。所以,不同的导航需要首先包含jquery和querystring-0.9.0.js这两个java脚本文件。

 $(function() {
           var param1 = $.QueryString("param1");
           var param2 = $.QueryString("param2");
           alert(param1);
           alert(param2);
 });

您可以尝试http://codebins.com/bin/4ldqpac