Javascript - HTML的request类


Posted in Javascript onJanuary 09, 2007

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。
里面有三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny

<SCRIPT LANGUAGE="JavaScript">  
<!--  
// author: never-online  
// web: never-online.net  
var request = {  
 QueryString : function(val) {  
 var uri = window.location.search;  
 var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");  
 return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);  
 },  
 QueryStrings : function() {  
 var uri = window.location.search;  
 var re = /\w*\=([^\&\?]*)/ig;  
 var retval=[];  
 while ((arr = re.exec(uri)) != null)  
 retval.push(arr[0]);  
 return retval;  
 },  
 setQuery : function(val1, val2) {  
 var a = this.QueryStrings();  
 var retval = "";  
 var seted = false;  
 var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");  
 for(var i=0; i<a.length; i++) {  
 if (re.test(a[i])) {  
 seted = true;  
 a[i] = val1 +"="+ val2;  
 }  
 }  
 retval = a.join("&");  
 return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);  
 }  
}  
alert(request.setQuery("e","b"))  
//-->  
</SCRIPT> 
Javascript 相关文章推荐
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
详解Bootstrap四种图片样式
Jan 04 Javascript
获取阴历(农历)和当前日期的js代码
Feb 15 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 Javascript
在bootstrap中实现轮播图实例代码
Jun 11 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
Weex开发之地图篇的具体使用
Oct 16 Javascript
p5.js临摹旋转爱心
Oct 23 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 Javascript
贴一个在Mozilla中常用的Javascript代码
Jan 09 #Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 #Javascript
Javascript调试工具(下载)
Jan 09 #Javascript
如何在Mozilla Gecko 用Javascript加载XSL
Jan 09 #Javascript
如何让动态插入的javascript脚本代码跑起来。
Jan 09 #Javascript
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 #Javascript
你所要知道JS(DHTML)中的一些技巧
Jan 09 #Javascript
You might like
PHP插入排序实现代码
2013/04/04 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
python模块之time模块(实例讲解)
2017/09/13 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
python中安装django模块的方法
2020/03/12 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
新文化运动的基本口号
2014/06/21 职场文书
法人委托书范本格式
2014/09/15 职场文书
酒店员工管理制度
2015/08/05 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
在python中实现导入一个需要传参的模块
2021/05/12 Python