【问题标题】:jQuery get information from urljQuery从url获取信息
【发布时间】:2012-07-18 09:09:09
【问题描述】:

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

感谢您的建议。

【问题讨论】:

标签: jquery html url jquery-selectors get


【解决方案1】:

列出了很多方法来做到这一点here。 我推荐JQuery URL Parser

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

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

【讨论】:

    【解决方案2】:

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

    按照以下步骤操作:

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

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

    3) HTML :

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

    这里我使用了“#?​​param1=abc&param2=def”,因为在 bins 上不可能重定向页面并执行我们的 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

    【讨论】:

      猜你喜欢
      • 2021-07-01
      • 2021-11-30
      • 2022-06-13
      • 2014-01-06
      • 2015-04-10
      • 2012-07-14
      • 2014-12-13
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多