Heim >Web-Frontend >js-Tutorial >javascript:以前写的xmlhttp池,代码_javascript技巧

javascript:以前写的xmlhttp池,代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 19:04:201069Durchsuche

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   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     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);

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn