为什么会用到这个方法?想象一下这个情景,服务器组的开发同学,明明可以把参数直接返回给你,偏偏不这样做。非要将其显性的防止在 URL 上,这样让人蛋疼的方式下,那么你就用到了!真心不是为了黑服务器同学,是我没想到其他场景。
jQuery.query - Query String Modification and Creation for jQuery Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). Date: 2009/8/13 @author Blair Mitchelmore @version 2.1.7
e.g. 获取 http://www.yanduren.com/?code=89757 中 code 的值
var get_para = $.query.get('code'); console.log( get_para );
如果是遇到参数名是多个同名项时,返回值为数组
e.g. 那么,获取其中一个同名参数时,则这样写
var get_para = $.query.get('code[1]'); console.log( get_para );
说实话,我觉得这样写很扯淡,为什么是字符串参数里面放一个下标。真的很扯..
与 get 相对应的就是 set 了,既然能获取,必然能设置。
e.g. 为 http://www.yanduren.com/ 设置一个参数 code = yanduren
var set_para = $.query.set('code','yanduren').toString(); console.log( set_para );
此时,观察控制台的输出为 ?code=yanduren 的字符串。
同理可证,我们还可以设置多个参数。
e.g. 添加 name=’山羊哥’,code=yanduren 的这样两个参数
var set_para = $.query('name','山羊哥').set('code','yanduren').toString(); console.log( set_para );
此时,再次观察控制台的输出,会返回什么?是不是 ?name=山羊哥&code=yanduren 的字符串?
e.g. 如果有需要的话,我们还可以获取到当前页面的 url 进行拼接再跳转
var new_url = location.href + set_para; location.href = new_url;
其余的 api 都比较简单,删除参数,清空参数,复制所有参数 etc.. 所以,懒得一一介绍了。
$.query.remove('type'); $.query.empty(); $.query.copy();
至于插件的下载地址,好吧,我给忘记了。似乎 http://sam.zoy.org/wtfpl/
是关于这个作者的地址。
可惜的是我已经打不开了,亲,我真的翻墙了!那就自行 Google 吧!