给XMLHttpReq.onreadystatechange传递参数

通过:
xmlhttp.onreadystatechange= function(){FuncName(param)};
or
xmlhttp.onreadystatechange= new Function("FuncName(param)");
就可以了。

 

<script type="text/javascript">
//直接通过XMLHttpRequest对象获取远程网页源代码
function getSource(site,action){
 if(action=="Baidu"){
  xmlHttp.onreadystatechange=writeBaidu;    //设置回调函数
  xmlHttp.open("POST", "../Get/js_baidu.asp", true);
 }
 if(action=="Google"){
  xmlHttp.onreadystatechange=writeGoogle;    //设置回调函数
  xmlHttp.open("POST", "../Get/js_google.asp", true);
 }
 if(action=="Alexa"){
  xmlHttp.onreadystatechange=function(){writeAlexa(site);};    //设置回调函数
  xmlHttp.open("POST", "../Get/js_alexa.asp", true);
 }
 if(action=="PageRank"){
  xmlHttp.onreadystatechange=writePageRank;    //设置回调函数
  xmlHttp.open("POST", "../Get/js_pr.asp", true);
 }
 xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
 xmlHttp.send("site=" + encodeURIComponent(site));  //发送包含地址信息的请求体
}

//将远程网页源代码写入页面文字区域
function writeBaidu(){
 if (xmlHttp.readyState==4){
  baiduSource=xmlHttp.responseText;
  
  var someText=baiduSource;
  var pattern=new RegExp(/找到相关结果数((.|\n)*?)个/);
  //var outCome_exec=pattern.exec(someText);
  //document.getElementById("Baidu").value=outCome_exec[1].replace(',','');
  var outCome_matc=someText.match(pattern);
  document.getElementById("Baidu").value=outCome_matc[1].replace(',','');
  
  document.getElementById("Tip_Baidu").innerHTML="<img src='/Images/ok.gif'>";
  
  getSource("<%=Link_Url%>","Google");
 }
}

//将远程网页源代码写入页面文字区域
function writeGoogle(){
 if (xmlHttp.readyState==4){
  var someText=xmlHttp.responseText;
  var pattern=new RegExp(/找到约 ((.|\n)*?) 条结果/);
  //var outCome_exec=pattern.exec(someText);
  //document.getElementById("Google").value=outCome_exec[1].replace(',','');
  var outCome_matc=someText.match(pattern);
  document.getElementById("Google").value=outCome_matc[1].replace(',','');
  
  document.getElementById("Tip_Google").innerHTML="<img src='/Images/ok.gif'>";
  
  getSource("<%=Link_Url%>","Alexa");
 }
}

//将远程网页源代码写入页面文字区域
function writeAlexa(site){
 if (xmlHttp.readyState==4){
  var strRegExp="<a href=\"\/siteinfo\/"+site+"#trafficstats\">\n((.|\n)*?)<\/a>"
  
  var someText=xmlHttp.responseText;
  var pattern=new RegExp(strRegExp);
  //var outCome_exec=pattern.exec(someText);
  //document.getElementById("Alexa").value=outCome_exec[1].replace(',','');
  var outCome_matc=someText.match(pattern);
  document.getElementById("Alexa").value=outCome_matc[1].replace(',','');
  
  document.getElementById("Tip_Alexa").innerHTML="<img src='/Images/ok.gif'>";
  
  getSource("<%=Link_Url%>","PageRank");
 }
}

//将远程网页源代码写入页面文字区域
function writePageRank(){
 if (xmlHttp.readyState==4){
  var someText=xmlHttp.responseText;
  
  document.getElementById("PageRank").value=someText;
  
  document.getElementById("Tip_PageRank").innerHTML="<img src='/Images/ok.gif'>";
  
  writeBaidu_Date("<%=Link_Url%>");
 }
}

//将远程网页源代码写入页面文字区域
function writeBaidu_Date(site){
 var strRegExp="<span class=\"g\">  www."+site+"\/ (\\d{4}-(\\d{2}|\\d{1})-(\\d{2}|\\d{1}))  <\/span>";
 
 var someText=baiduSource;
 var pattern=new RegExp(strRegExp);
 //var outCome_exec=pattern.exec(someText);
 //document.getElementById("Baidu_Date").value=outCome_exec[1].replace(' ','');
 var outCome_matc=someText.match(pattern);
 document.getElementById("Baidu_Date").value=outCome_matc[1].replace(' ','');
 
 document.getElementById("Tip_Baidu_Date").innerHTML="<img src='/Images/ok.gif'>";
}

//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest){
 xmlHttp=new XMLHttpRequest();     //FireFox、Opera等浏览器支持的创建方式
}
else{
 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE浏览器支持的创建方式
}

getSource("<%=Link_Url%>","Baidu");
</script>

你可能感兴趣的:(传递参数)