jQuery获取地址栏参数插件(模仿C#)


Posted in Javascript onOctober 26, 2010
$.request = (function () { 
var apiMap = {}; 
function request(queryStr) { 
var api = {}; 
if (apiMap[queryStr]) { 
return apiMap[queryStr]; 
} 
api.queryString = (function () { 
var urlParams = {}; 
var e, 
d = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); }, 
q = queryStr.substring(queryStr.indexOf('?') + 1), 
r = /([^&=]+)=?([^&]*)/g; 
while (e = r.exec(q)) 
urlParams[d(e[1])] = d(e[2]); return urlParams; 
})(); 
api.getUrl = function () { 
var url = queryStr.substring(0, queryStr.indexOf('?') + 1); 
for (var p in api.queryString) { 
url += p + '=' + api.queryString[p] + "&"; 
} 
if (url.lastIndexOf('&') == url.length - 1) { 
return url.substring(0, url.lastIndexOf('&')); 
} 
return url; 
} 
apiMap[queryStr] = api; 
return api; 
} 
$.extend(request, request(window.location.href)); 
return request; 
})();

接下来简介绍一下插件的用法。

我们可以通过 $.request.queryString["key"] 就能获取到地址栏上面key参数。

大多数情况下我用这个插件来读取一些配置信息。

我们有时候会在 html 标签中加入一些其他的非HTML属性来作为标志信息,比如我们有时候会写<a id="demo" href="javascript:;" config="?title=hello&auto=true&">Demo</a>

这样子我们通过


var config = $.request($("#demo").attr("config")).queryString;

var title = config.title;

很方便就能读取a上面的配置信息,而且我们不需要给a 添加太多其他的非Html属性。

Javascript 相关文章推荐
解决3.01版的jquery.form.js中文乱码问题的解决方法
Mar 08 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
js运动应用实例解析
Dec 28 Javascript
jQuery拖动元素并对元素进行重新排序
Dec 30 Javascript
node.js实现博客小爬虫的实例代码
Oct 08 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 Javascript
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 #Javascript
jquery ui resizable bug解决方法
Oct 26 #Javascript
HTML Dom与Css控制方法
Oct 25 #Javascript
Dom在ajax技术中的作用说明
Oct 25 #Javascript
Dom与浏览器兼容性说明
Oct 25 #Javascript
Dom 是什么的详细说明
Oct 25 #Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 #Javascript
You might like
简单的php中文转拼音的实现代码
2014/02/11 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
详解python中的文件与目录操作
2017/07/11 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
本科毕业生的求职信范文
2013/11/20 职场文书
简历中求职的个人自我评价
2013/12/03 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
施工安全生产承诺书
2014/05/23 职场文书
个人自查自纠材料
2014/10/14 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
redis 限制内存使用大小的实现
2021/05/08 Redis