zoukankan      html  css  js  c++  java
  • 网上找的一个很好用的Ajax类

    现在Ajax技术越来越流行了,出现了许多的服务器端框架,可以像以前写服务器端代码一样来使用Ajax,但是我还是觉得那样有些麻烦,不如直接用javascript来的简单、方便,从网上找到一段代码,实现了Ajax连接池,觉得不错,大家共享吧。
    var Request = new function()
    {

        this.pool = new Array();

        this.getXMLHttp = function (chunnel)
        {
            
             if(chunnel != null)
             {
                      for (var a = 0; a < this.pool.length; a++)
                      {
                           if(this.pool[a]["chunnel"] == chunnel)
                           {
                                    if(this.pool[a]["obj"].readyState == 0 || this.pool[a]["obj"].readyState == 4)
                                {
                                         return this.pool[a]["obj"];
                                }
                                    else
                                    {
                                      return "busy";
                                    }
                           }
                      }
             
                      this.pool[this.pool.length] = new Array();
                      this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
                      this.pool[this.pool.length - 1]["chunnel"] = chunnel;
                      return this.pool[this.pool.length - 1]["obj"];
         
              }
       
             for (var i = 0; i < this.pool.length; i++)
             {
                  if (this.pool[i]["obj"].readyState == 0 || this.pool[i]["obj"].readyState == 4)
                  {
                           return this.pool[i]["obj"];
                  }
             }
             
             this.pool[this.pool.length] = new Array();
             this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
             this.pool[this.pool.length - 1]["chunnel"] = "";
             return this.pool[this.pool.length - 1]["obj"];

        }

        this.createXMLHttp = function ()
        {
         
             if(window.XMLHttpRequest)
             {
                      var xmlObj = new XMLHttpRequest();
             }
             else
             {
                      var MSXML = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
                      for(var n = 0; n < MSXML.length; n++)
                      {
                               try
                               {
                                        var xmlObj = new ActiveXObject(MSXML[n]);       
                                        break;
                               }
                               catch(e)
                               {
                                          
                               }
                      }
             }
             
             return xmlObj;
       
        }

        this.reSend = function (url,data,callback,chunnel)
        {
                 var objXMLHttp = this.getXMLHttp(chunnel)
                 
                 if(typeof(objXMLHttp) != "object")
                 {
                           return ;
                 }
                 
                 url += (url.indexOf("?") >= 0) ? "&nowtime=" + new Date().getTime() : "?nowtime=" + new Date().getTime();
               
                 if(data == "")
                 {
                      objXMLHttp.open('GET' , url, true);
                      objXMLHttp.send('');
                 }
                 else
                 {
                      objXMLHttp.open('POST' , url, true);
                      objXMLHttp.setRequestHeader("Content-Length",data.length);
                      objXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                      objXMLHttp.send(data);
                 }
                 
                 if(typeof(callback) == "function" )
                 {
                          objXMLHttp.onreadystatechange = function ()
                          {
                                   if (objXMLHttp.readyState == 4)
                                   {
                                            if(objXMLHttp.status == 200 || objXMLHttp.status == 304)
                                            {
                                                     callback(objXMLHttp)
                                            }
                                            else
                                            {
                                                     alert("Error loading page\n"+ objXMLHttp.status +":"+ objXMLHttp.statusText);
                                            }
                                   }
                          }
                 }
        }

    }

     

  • 相关阅读:
    (转)Quick Tip: Provisioning Web Parts to a Page(添加web part到page上,)
    解决sharepoint 2010浏览器在线浏览Word出错(非原创)
    转:部署带webpart的网页(Deploy a Page using a Feature)
    单点登录到sharepoint
    Feature Base On WebApp
    Create a New Document Using Office Web Apps
    学校合并与数组合并
    DNN拟合曲线
    使用tf.keras.layers.Layer自定义神经网络的层
    numpy
  • 原文地址:https://www.cnblogs.com/niceboy/p/839074.html
Copyright © 2011-2022 走看看