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 相关文章推荐
建立良好体验度的Web注册系统ajax
Jul 09 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 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&amp;mysql(五)
2006/10/09 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
javascript 小数取整简单实现方式
2014/05/30 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
基于python生成器封装的协程类
2019/03/20 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
中科方德软件测试面试题
2016/04/21 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
副处级干部考察材料
2014/05/17 职场文书
中国梦团日活动总结
2014/07/07 职场文书
会计专业求职信范文
2015/03/19 职场文书
工程质量保证书
2015/05/09 职场文书
信仰纪录片观后感
2015/06/08 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书