Javascript - HTML的request類
更新時(shí)間:2006年07月15日 00:00:00 作者:
做中英轉(zhuǎn)換的時(shí)候,要準(zhǔn)確的獲取參數(shù)并取出,所以做了一個(gè)簡(jiǎn)單的html中用js獲取當(dāng)取地址欄的一個(gè)Object。
里面有三個(gè)方法:
1、request.QueryString("參數(shù)")//獲取指定參數(shù),返回字符串;
2、request.QueryStrings();//獲取全部參數(shù),并返回?cái)?shù)組;
3、request.setQuery("參數(shù)","參數(shù)的值");//如果當(dāng)前地址欄有此參數(shù),那么將更新此參數(shù),否則返回一個(gè)新的地址欄參數(shù)字符串。
例如:
當(dāng)前地址欄參數(shù)字符串為:?name=a&site=never_online
alert(request.setQuery("name","blueDestiny"))
如果地址欄參數(shù)中有"name",那么返回?name=blueDestiny&site=never_online
setQuery方法有自動(dòng)追加參數(shù)的功能。如:
當(dāng)前地址欄參數(shù)字符串為:?site=never_online
alert(request.setQuery("name","blueDestiny"))
則返回?site=never_online&name=blueDestiny
同理,如果地址欄沒(méi)有參數(shù),也會(huì)自動(dòng)追加參數(shù)
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>
里面有三個(gè)方法:
1、request.QueryString("參數(shù)")//獲取指定參數(shù),返回字符串;
2、request.QueryStrings();//獲取全部參數(shù),并返回?cái)?shù)組;
3、request.setQuery("參數(shù)","參數(shù)的值");//如果當(dāng)前地址欄有此參數(shù),那么將更新此參數(shù),否則返回一個(gè)新的地址欄參數(shù)字符串。
例如:
當(dāng)前地址欄參數(shù)字符串為:?name=a&site=never_online
alert(request.setQuery("name","blueDestiny"))
如果地址欄參數(shù)中有"name",那么返回?name=blueDestiny&site=never_online
setQuery方法有自動(dòng)追加參數(shù)的功能。如:
當(dāng)前地址欄參數(shù)字符串為:?site=never_online
alert(request.setQuery("name","blueDestiny"))
則返回?site=never_online&name=blueDestiny
同理,如果地址欄沒(méi)有參數(shù),也會(huì)自動(dòng)追加參數(shù)
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 - HTML的request類
- javascript asp教程第八課--request對(duì)象
- javascript ajax類AJAXRequest2007-12-31 更新
- Javascript+XMLHttpRequest+asp.net無(wú)刷新讀取數(shù)據(jù)庫(kù)數(shù)據(jù)
- javascript對(duì)XMLHttpRequest異步請(qǐng)求的面向?qū)ο蠓庋b
- javascript XMLHttpRequest對(duì)象全面剖析
- javascript一個(gè)無(wú)懈可擊的實(shí)例化XMLHttpRequest的方法
- JavaScript下通過(guò)的XMLHttpRequest發(fā)送請(qǐng)求的代碼
- Javascript Request獲取請(qǐng)求參數(shù)如何實(shí)現(xiàn)
- javascript創(chuàng)建createXmlHttpRequest對(duì)象示例代碼
- java和jsp中的request使用示例
- java中request常用方法小結(jié)
相關(guān)文章
JavaScript使用?for...in?、?for...of?或者?forEach()?遍歷元素的示例
for...in?、?for...of?和?forEach?都是用于循環(huán)遍歷集合元素的方法,但它們之間有一些重要的區(qū)別,本文通過(guò)實(shí)例代碼介紹JavaScript使用?for...in?、?for...of?或者?forEach()?遍歷元素的相關(guān)知識(shí),感興趣的朋友一起看看吧2023-09-09
js實(shí)現(xiàn)的拖動(dòng)后記錄軌跡并運(yùn)行
軌跡拖動(dòng)(拖影效果)2010-06-06
用JavaScript對(duì)JSON進(jìn)行模式匹配(Part 1-設(shè)計(jì))
在《從 if else 到 switch case 再到抽象》這篇文章里面說(shuō)到,解決 if else 和 switch case 分支過(guò)多的一個(gè)方法,就是做一個(gè)專用的 dispatcher ,讓它來(lái)負(fù)責(zé)進(jìn)行篩選與轉(zhuǎn)發(fā)。2010-07-07
Javascript 代碼也可以變得優(yōu)美的實(shí)現(xiàn)方法
Javascript 代碼也可以變得優(yōu)美的一些經(jīng)驗(yàn)小結(jié)。2009-06-06
當(dāng)大家使用window.onload執(zhí)行一個(gè)函數(shù)時(shí),必須要等到頁(yè)面上的圖片等信息全部加載完畢之后才執(zhí)行的。但很多時(shí)候圖片的數(shù)量比較多,所以需要很多時(shí)間下載。更令人尷尬的是,當(dāng)網(wǎng)頁(yè)文檔(或者說(shuō)Dom)已經(jīng)加載完畢,而圖片尚未加載完畢,很多用戶已經(jīng)開(kāi)始瀏覽網(wǎng)頁(yè),但這時(shí)很多由window.onload所觸發(fā)的函數(shù)不能執(zhí)行,這就導(dǎo)致一部分功能不能完美地給用戶使用,更嚴(yán)重的是會(huì)給用戶留下不好的印象!2008-05-05
微信小程序?qū)崿F(xiàn)觸底加載與下拉刷新的示例代碼
本文主要介紹了微信小程序?qū)崿F(xiàn)觸底加載與下拉刷新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

