zoukankan      html  css  js  c++  java
  • 很久之前写的Ajax库

    很久之前写的一个小型AJAX的js,放在上面以免以后想玩了找不到了。

    //  version : 0.1 beta
    //  author : __Ajax
    
    function __Ajax(url,options){
        
        var xhr = window.ActiveXObject && new window.ActiveXObject('Microsoft.XMLHTTP') || new XMLHttpRequest();
    
        //  默认设置
        options.method = options.method || 'GET';
        options.onSuccess = options.onSuccess || function () { };
        options.onFailure = options.onFailure || function () { };
        options.onComplete = options.onComplete || function () { };
    
        //  状态改变
        xhr.onreadystatechange = function () {
    
            if (xhr.readyState != 4) return;
            xhr.status == 200 ? options.onSuccess(xhr.responseText, xhr.responseXML) : options.onFailure(xhr);
            options.onComplete();
        }
    
        xhr.open(options.method, url);
    
        /*
            beta 代码,备用
        //  解决未设置method的值为默认GET
        //  options.method = options.method || 'GET'
        */
    
        options.method.toUpperCase() == 'POST' && xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xhr.send(options.data);
    
        return xhr;
    }

    使用起来很方便,大家可以拿来玩玩。呵呵。

    <!DOCTYPE html>
    
    <html lang="en">
        <head>
            <meta charset="utf-8" />
            <title></title>
            <script type="text/javascript" src="__Ajax.js"></script>
            <script type="text/javascript">
    
                window.onload = function () {
    
                    __Ajax('index.php', {
    
                        method: 'post',
                        data: 'name=aaaa',
                        onSuccess: function (data) {
                            alert(data);
                        },
                        onFailure: function (xhr) {
                            alert('error');
                        }
    
                    });
                }
    
            </script>
    
        </head>
        <body>
            
        </body>
    </html>

    压缩版

    function __Ajax(b,a){var c=window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLHTTP")||new XMLHttpRequest();a.method=a.method||"GET";a.onSuccess=a.onSuccess||function(){};a.onFailure=a.onFailure||function(){};a.onComplete=a.onComplete||function(){};c.onreadystatechange=function(){if(c.readyState!=4){return}c.status==200?a.onSuccess(c.responseText,c.responseXML):a.onFailure(c);a.onComplete()};c.open(a.method,b);a.method.toUpperCase()=="POST"&&c.setRequestHeader("Content-type","application/x-www-form-urlencoded");c.send(a.data);return c};
  • 相关阅读:
    遇到的开发错误
    我的麦本本配置
    C#:100以内能被7整除的最大自然数
    C#:静态字段和静态方法的学习
    Oracle 备份、恢复单表或多表数据步骤 (转)
    有关关键路径的概念和算法 (转)
    Delphi中StringReplace函数的使用
    Delphi 里 FillChar的用法
    Delphi中destroy, free, freeAndNil, release用法和区别
    项目经理、系统架构师或技术骨干应该具备的水平
  • 原文地址:https://www.cnblogs.com/Aphex/p/3237393.html
Copyright © 2011-2022 走看看