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 相关文章推荐
javascript向flash swf文件传递参数值注意细节
Dec 11 Javascript
深入解析JavaScript中的变量作用域
Dec 06 Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
微信小程序之判断页面滚动方向的示例代码
Aug 30 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
vue+element实现表单校验功能
May 20 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
关于React Native使用axios进行网络请求的方法
Aug 02 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.ini中文版
2006/10/09 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python使用Matplotlib画条形图
2020/03/25 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
社区安全检查制度
2014/02/03 职场文书
大专生找工作自荐书
2014/06/10 职场文书
找工作求职信
2014/07/07 职场文书
七一建党节演讲稿
2014/09/11 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书