[代码]HTML页面如何接收外部参数

来源:互联网 发布:java接口编程题 编辑:程序博客网 时间:2024/05/16 09:52

[代码]HTML页面如何接收外部参数

Posted on 2006-07-08 23:41 SmartStone 阅读(375) 评论(2)  编辑 收藏 网摘
HTML静态页面接收外部参数的原理其实很简单,就是通过Javascript解析字符串,打开一个HTML页面时,通 location.href 可以取到该页面的地址,要解析的字符串对象正是这个地址。
 
一般约定参数的传递形式为:*.htm?p1=1&p2=2&p3=3,即在页面的实际地址与参数之间以 ? 隔离,参数与参数之间使用 & 隔离,每个参数表达式等号前面为参数名,后面为参数值。
 
具体实现的代码如下(感谢CSDN网友 qxg1123 Iamfish 提供的实现代码):
 
qxg1123 的实现 

var pos,str,para,parastr,tempstr1;
tempstr="";
str = window.location.href;
pos = str.indexOf("?")
parastr = str.substring(pos+1);
document.write("<br>文件路径:"+str);
if (pos>0){
  document.write("<br>所有参数:"+parastr);
}
else
{
  document.write ("无参数");
}


if (str.indexOf("&")>0){
  para = parastr.split("&");
  for(i=0;i<para.length;i++)
  {
    tempstr1 = para[i];
    pos = tempstr1.indexOf("=");
    document.write ("<br>参数"+i+":"+tempstr1.substring(0,pos));
    document.write ("等于:"+tempstr1.substring(pos+1));
  }
}

 

Iamfish 的实现

var QueryString="";
if(location.href.indexOf("?")>0){
  QueryString=location.href.substr(location.href.indexOf("?")+1);
}

QueryString="&"+QueryString+"&";

function Request(key){
  var tempStr;
  key="&"+key+"=";
  if(QueryString.indexOf(key)>=0){
    tempStr=QueryString.substr(QueryString.indexOf(key)+key.length);
    return tempStr.substr(0,tempStr.indexOf("&"));
  }
  return "";
}