Javascript - HTML的request类

2016-02-19 10:55 7 1 收藏

今天图老师小编给大家介绍下Javascript - HTML的request类,平时喜欢Javascript - HTML的request类的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的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; ia.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 

来源:http://www.tulaoshi.com/n/20160219/1596111.html

延伸阅读
标签: Web开发
在日常的前端开发工作中,我们会经常的与HTML、javascript、css等语言打交道,和一门真正的语言一样,计算机语言也有它的字母表、语法、词法、编码方式等,在这里我简单的谈一下前端HTML与javascript日常工作中常碰到的编码问题。 在计算机中,我们储存的信息都是用二进制码表示的。我们认识的、屏幕上显示的英文、汉字等符号和储存用的二...
标签: Web开发
JavaScript中类的学习,从基本类继承过来方法 也可以这样实现: Java代码 function newClass(){         this.firstName="frank";         this.toUc=String.toUpperCase;         this.toString=function()...
标签: Web开发
From:http://www.ajaxwing.com/index.php?id=2 一,背景 回顾一下编程语言的发展,不难发现这是一个不断封装的过程:从最开始的汇编语言,到面向过程语言,然后到面向对象语言,再到具备面向对象特性的脚本语言,一层一层封装,一步一步减轻程序员的负担,逐渐提高编写程序的效率。这篇文章是关于 JavaScript 的,所以我们先来...
HttpServletRequest类既有getAttribute()方法,也有getParameter()方法,这两个方法有以下区别: 1、HttpServletRequest类有setAttribute()方法,而没有setParameter()方法; 2、当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数; 例如,假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有...
标签: Web开发
我们知道,虽然JavaScript是基于对象(object-based)的语言。但是使用其原形(prototype)特性,我们完全可以实现十分sexy的OO编成框架,这个可以看看经典论坛的文章'基本上实现 javascript 的 OOP (0423版)'。     不过虽然我们实现了'类'这种概念,可是JavaScript的脚本系统却仍然是不认账的。我们并...

经验教程

637

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部