Javascript - HTML的request类

时间:2021-05-28

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

<SCRIPTLANGUAGE="JavaScript">
<!--
//author:never-online
//web:never-online.net
varrequest={
QueryString:function(val){
varuri=window.location.search;
varre=newRegExp(""+val+"\=([^\&\?]*)","ig");
return((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
},
QueryStrings:function(){
varuri=window.location.search;
varre=/\w*\=([^\&\?]*)/ig;
varretval=[];
while((arr=re.exec(uri))!=null)
retval.push(arr[0]);
returnretval;
},
setQuery:function(val1,val2){
vara=this.QueryStrings();
varretval="";
varseted=false;
varre=newRegExp("^"+val1+"\=([^\&\?]*)$","ig");
for(vari=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>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章