zoukankan      html  css  js  c++  java
  • 一个AJAX类

    以前写的一个AJAX类,兼容性还不错,简单易用,记下了方便以后找

    基本用法:

    var ajax = new AjaxObj(url);

    ajax.addListener(
    200function(r){
       alert(r);
    });

    ajax.send();

    也可以连续调用:

    var ajax = new AjaxObj(url).addListener(200function(r){
       alert(r);
    }).send();

    另外还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码,自己看代码琢磨吧 

    完整代码:

    代码
    AjaxObj = function(url, method, content){
        
    this.r = null;
        
    this.url = url;
        
    this.method = method;
        
    this.content = content;
        
    this.header = {};
        
    this.header["Connection"= "close";
        
    this.header["Content-type"= "application/x-www-form-urlencoded";

        
    var self = this;

        
    if(window.XMLHttpRequest){
            
    this.r = new XMLHttpRequest();
        }
    else if(window.ActiveXObject){
            
    try { 
                
    this.r = new ActiveXObject("Msxml2.XMLHTTP"); 
            } 
    catch(e) {
                
    try
                    
    this.r = new ActiveXObject("Microsoft.XMLHTTP"); 
                } 
    catch(e) {
                }
            }
        }

        
    this.addListener = function(http_status, func){
            
    if(!this.L)
                
    this.L=[];
            
    this.L[http_status] = func;
            
    return this;
        };

        
    this.setHeader = function(name, value){
            
    this.header[name] = value;
            
    this.r.setRequestHeader(name, value);
            
    return this;
        };

        
    this.send = function(){
            
    if(this.method != "post" && this.method != "get")
                
    this.method = "get";

            
    this.r.open(this.method, this.url, true);

            
    for(var h in this.header) {
                
    this.r.setRequestHeader(h, this.header[h]);
            }

            
    this.r.send(this.content);
        };

        
    if(this.r) this.r.onreadystatechange = function(){
            
    if(self.r.readyState == 4 && self.L[self.r.status] != null)
                self.L[self.r.status](self.r.responseText);
        };
    };



  • 相关阅读:
    python学习-33 max和min函数的高级使用
    XML--XSL
    XML--XML概览
    Linux|Zookeeper--CentOS7开机启动Zookeeper
    VMWare WorkStation15--Win10下开机启动虚拟机
    Zookeeper--命令介绍
    Zookeeper--复制模式安装
    Zookeeper--Zookeeper单机安装
    soupui--替换整个case的url
    Git--cherry-pick
  • 原文地址:https://www.cnblogs.com/rshow/p/1807980.html
Copyright © 2011-2022 走看看