javascript:以前写的xmlhttp池,代码

  var Pool_xmlreq=function(){

  var _cacheCase=[];

  _cacheCase.fetch=function(){

  var i=0;

  var _instance=function(){

  try{

  return (new ActiveXObject("Msxml2.XMLHTTP.5.0"));}

  catch(e){

  try{

  return (new XMLHttpRequest());}

  catch(e){

  try{

  return (new ActiveXObject("Msxml2.XMLHTTP"));}

  catch(e){

  try{

  return (new ActiveXObject("Microsoft.XMLHTTP"));}

  catch(e){

  alert("Error: initializing xmlhttprequest!");}}}}}

  for(;i<this.length;i++){

  if(this[i].readyState==0||this[i].readyState==4){

  return this[i];}}

  this[i]=_instance();

  return this[i];}

  this.length=function(){

  return _cacheCase.length}

  this.instance=function(){

  return _cacheCase.fetch()}

  this.connect=function(method,url,data,handler){

  var _xmlhttpreq=_cacheCase.fetch();

  with(_xmlhttpreq){

  open(method,url,true);

  setRequestHeader("Cache-Control","no-cache");

  setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");

  send(data);

  onreadystatechange=function(){

  if(_xmlhttpreq.readyState<4)

  return false;

  if(_xmlhttpreq.status==200||_xmlhttpreq.status==304){

  handler(decodeURIComponent(_xmlhttpreq.responseText));

  return true;}

  alert("Error: status_"+_xmlhttpreq.status+"!");

  return false;}}}

  }

  var xmlreq=new Pool_xmlreq();

  用法:

  xmlreq.connect("post",url,postdata,function);