乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      創(chuàng)建xmlhttp請求&管理請求

       躍來躍去 2009-12-15
      var Bind = function(object, fun) {
          var args = Array.prototype.slice.call(arguments).slice(2);
          return function() {
                return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
           }
      }

      var Request = function() {
          this.requestexe = this.getNewRequest();
          this.action = 'get';
          this.url = '';
          this.ondone = null;
          this.onerror = null;
          this.headers = null;
          this.body = null;
          this.isstart = false;
          this.timer = null;
          this.paras = null;
      }
      Request.prototype = {
          count : 0,
          getNewRequest : function(){
              try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
              try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
              try { return new XMLHttpRequest(); } catch(e) {}
              alert("XMLHttpRequest not supported");
              return null;
          },
          send : function(){
              if(this.isstart) return;
              if(this.getCount() > 1){
                  setTimeout(Bind(this, this.send),500);
                  return;
              }
              this.waitOne();
              this.isstart = true;
              this.url = this.url +  "&" + new Date().getTime().toString();
              this.requestexe.open(this.action,this.url,true);
              if(this.headers){
                  for (var header in this.headers) {
                      var val = headers[header];
                      if (typeof(val) !== "function")
                          this.requestexe.setRequestHeader(header, val);
                  }
              }
              if (this.action.toLowerCase() === "post") {
                  if ((this.headers === null) || !headers['Content-Type']) {
                      this.requestexe.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                  }
                      if (!this.body) {
                      this.body = "";
                  }
              }
              var request = this;
              var httpexe = this.requestexe;
              this.requestexe.onreadystatechange = function(){
                  if(httpexe.readyState == 4){
                      clearTimeout(request.timer);
                      Bind(request,request.releaseOne());
                      if(httpexe.status == 200){
                          if(typeof(request.ondone) === "function"){
                              request.ondone(httpexe,request.paras);
                          }
                      }
                      else{
                          if(typeof(request.onerror) === "function"){
                              request.onerror(httpexe,request.paras);
                          }
                      }
                  }
              }
              this.timer = setTimeout( function(){
                  request.requestexe.abort();
                  clearTimeout(request.timer);
                  request.releaseOne();
              },20000);
              this.requestexe.send(this.body);
          },
          releaseOne: function(){
              if(Request.prototype.count >= 0)
              Request.prototype.count--;
          },
          waitOne:function(){
              Request.prototype.count++;
          },
          getCount:function(){
              return Request.prototype.count;
          }
      }

      在使用時如下:
          var request = new Request();
          request.action = 'get';
          request.url = 'requesturl';
          request.ondone = function(result,paras){
              var p = result.responseText;
          };
          request.onerror = function(result,paras){
              alert(result.status);
          };
          request.paras = '';
          request.send();       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多