javascript ajax获取信息功能代码

  Client端代码如下:

  

复制代码 代码如下:

  <html>

  <head>

  <script language="javascript"><!--

  function getit(){

  if(document.getElementById("url").value==""){

  alert("Enter url!");

  return false;

  }

  if(document.getElementById("count").value==""){

  alert("Enter count!");

  return false;

  }

  if(document.getElementById("num").value==""){

  alert("Enter num!");

  return false;

  }

  if(document.getElementById("end").value==""){

  alert("Enter end!");

  return false;

  }

  var url=document.getElementById("url").value;

  var count=document.getElementById("count").value;

  var num=document.getElementById("num").value;

  var end=document.getElementById("end").value;

  sendCall(url,count,num,end);

  }

  function sendCall(url,count,num,end) {

  if (parseInt(num)>=parseInt(end)){return false;}

  var nurl=url+"?count="+count+"&num="+num;

  //alert(nurl);

  //window.open(nurl);

  var xmlHttp;

  if (window.ActiveXObject) {

  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

  } else if (window.XMLHttpRequest) {

  xmlHttp = new XMLHttpRequest();

  //解决FF中跨域问题

  try{

  netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");

  } catch (e) {

  alert( "Permission UniversalBrowserRead denied. ");

  }

  }

  xmlHttp.onreadystatechange = function() {

  if(xmlHttp.readyState == 4 && xmlHttp.status ==200){

  var str = xmlHttp.responseText;

  var msg=document.getElementById("getmsg");

  if(str.match(/thereisnothing/)) {

  msg.innerHTML = "数据已经完成传输!"

  }else{

  //msg.innerHTML =str;

  write(str,count,num);

  var next=parseInt(num)+parseInt(count);

  sendCall(url,count,next,end);

  }

  }

  }

  xmlHttp.open('POST', nurl, true);

  //xmlHttp.setRequestHeader("Content-Type", "text/xml");

  //xmlHttp.setRequestHeader("charset", "utf-8");

  xmlHttp.send(null);

  }

  function write(str,count,num){

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var end = parseInt(num)+parseInt(count);

  var name = "e:\\"+num+"-"+end+".txt";

  var a = fso.CreateTextFile(name, true);

  a.WriteLine(str);

  a.Close();

  //alert("我已经在你的E盘根目录下生成了一个"+name+"的文件!");

  document.getElementById("num").value=end;

  var msg=document.getElementById("getmsg");

  msg.innerHTML="我已经在你的E盘根目录下生成了一个"+name+"的文件!";

  }

  // -->

  </script>

  </head>

  <body>

  <div>

  Enter the setup then get the info:

  </div>

  <input id="url" value="http://www.oldjun.com/test.asp" size="50">

  <input type=button value="开始" onclick="javascript:getit();"><br><br>

  <div id="getmsg">

  </div>

  <br><br>

  → how many once:<input name="count" id="count" type="text" value="1000" size="30" /><br><br>

  → begin num :<input name="num" id="num" type="text" value="0" size="30" /><br><br>

  → end num :<input name="end" id="end" type="text" value="100" size="30" /><br><br>

  </body></html>

  功能可以改进,改进以后防止网络拥堵导致的获取信息失败而造成的不连续,可以改进成实现很多功能的工具,比如刷票...自己发挥,我只提供思路~