2012-07-18 181 views
0

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

感谢您的建议。

+0

http://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a-valid-answer-to-a-javascript - 问题 – bPratik 2012-07-18 09:11:33

+0

你试图达到什么已经在这里回答http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript – bPratik 2012-07-18 09:12:51

回答

2

很多方法可以做到here。 我推荐JQuery URL Parser

只需添加的URL解析器脚本到您的网页,并以下列方式

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

我已经做了完整的垃圾箱上面的解决方案中使用它。

请按照以下步骤操作:

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

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

3)HTML:

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

这里我用“#参数1 = ABC &参数2 = DEF?”因为箱就不可能重定向页面并执行我们的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