在做项目的过程中,会遇到跳转的页面,直接打开到里面的子项,这个时候,看了UI给我设计了四个页面,如果做四个页面,肯定是可以实现的。但是这个不符合前端的设计。就在想通过点击传值进去,肯定是能够获取到的。这个时候查找资料就找到了
get parameter()
//js构建HashMap
function HashMap(key,value){
var key;
var value;
this.put = function(key,value){
this.key = key;
this.value = value;
}
this.getKey = function(){
return key;
}
this.getValue = function(){
return value;
}
}
//构建简单对象
function Request(){
var parameters = null;
this.init = function(){
var location = window.location.href;
var index = location.indexOf("?");
var queryString = ((index>0)?location.substring(index+1):null);
if(null!=queryString){
parameters = new Array();
var parameterArray = queryString.split("&");
var length = parameterArray.length;
for(var i=0;i<length;i++){
var parameter = parameterArray[i];
index = parameter.indexOf("=");
var key = parameter.substring(0,index);
var value = parameter.substring(index+1);
if(null!=key && key.length>0){
parameters.push(new HashMap(key,value));
}
}
}
}
this.getParameter = function(key){
this.init();
if(null==parameters)
return "";
var length = parameters.length;
for(var i=0;i<length;i++){
hashMap = parameters[i];
if(hashMap.getKey() == key){
return hashMap.getValue();
}
}
return "";
}
this.getParameterValues = function(key){
this.init();
if(null==parameters)
return null;
var array = new Array();
var length = parameters.length;
for(var i=0;i<length;i++){
hashMap = parameters[i];
if(hashMap.getKey() == key){
array.push(hashMap.getValue());
}
}
return array;
}
}
//用法
new Request().getParameter(key) 返回string
new Request().getParameterValues(key) 返回array