Javascript - HTML的request類

Javascript - HTML的request類
關鍵字:Javascript、-、HTML的request類
做中英轉換的時候,要準確的獲取參數并取出,所以做了一個簡單的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> 
众人帮太赚钱了