我正在寻找一个像PHP的$ _GET一样的jQuery代码。在像http://example.com/index.php?page=pics&action=show
这样的链接中,我希望获得“页面”和“操作”值。在PHP中它很容易完成,但我需要在jQuery中。我试图用$(location).attr('href');
得到整个网址,但后来我必须过滤它,我很确定有一种更简单的方法。
感谢您的建议。
答案 0 :(得分:2)
有很多方法可以列出here。 我推荐JQuery URL Parser。
只需将URL解析器脚本添加到您的页面并按以下方式使用
$.url('http://xyz.com?param1=abc¶m2=def').param('param1'); // returns 'abc'
答案 1 :(得分:1)
我为上述解决方案做了完整的垃圾箱。
按照以下步骤操作:
1)包含最新的jquery.js文件。
2)包含querystring-0.9.0.js以获取js中的查询字符串变量值。
3)HTML:
<a href="#?param1=abc¶m2=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);
});