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 相关文章推荐
jquery ajax 登录验证实现代码
Sep 23 Javascript
Javascript Throttle &amp; Debounce应用介绍
Mar 19 Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 Javascript
AngularJS+Node.js实现在线聊天室
Aug 28 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
实现隔行换色效果的两种方式【实用】
Nov 27 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
深入讲解Vue中父子组件通信与事件触发
Mar 22 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数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
Python 2与Python 3版本和编码的对比
2017/02/14 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
Python PO设计模式的具体使用
2019/08/16 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
端午节演讲稿
2014/05/23 职场文书
销售类求职信
2014/06/13 职场文书
九九重阳节致辞
2015/07/31 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
MySQL 时间类型的选择
2021/06/05 MySQL