Js如何得到request的值呢? 收藏
view plaincopy to clipboardprint?
一.
function QueryString()
{
//构造参数对象并初始化
var name,value,i;
var str=location.href;//获得浏览器地址栏URL串
var num=str.indexOf("?")
str=str.substr(num+1);//截取“?”后面的参数串
var arrtmp=str.split("&");//将各参数分离形成参数数组
for(i=0;i < arrtmp.length;i++)
{
num=arrtmp[i].indexOf("=");
if(num>0)
{
name=arrtmp[i].substring(0,num);//取得参数名称
value=arrtmp[i].substr(num+1);//取得参数值
this[name]=value;//定义对象属性并初始化
}
}
}
调用:
var abc = new QueryString();
alert(abc.id);//id是假如参数名称中有这个变量名
二.
<!--
// author: never-online
// web: never-online.net
// 获取request
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);
}
}
function getRe(){
alert(request.QueryString(''));
alert('asdf');
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/axu20/archive/2009/02/15/3891920.aspx