• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一个封装的Ajax类

    用法: 
    new Ajax().Request(url,cmd,async,method,postString,title) 
    参数: 
    url: 请求页面URL(必填) 
    cmd: 返回值处理函数(必填) 
    async: 是否异步 ,(ture|false), 默认true 
    method: 请求方式,(post|get), 默认get 
    postString: 请求方式为post时,请求内容 
    title: 请求内容标题 

    复制代码 代码如下:

    // Ajax 封装 2007-3-13
    function createXMLHttpRequest() {
        try {        
                if (window.XMLHTTPRequest) {
                        return new XMLHttpRequest();
                }
                else if (window.ActiveXObject) {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
            catch (e) {alert("XMLHttpRequest对象无法创建!请检查IE安全设置!");}
    }
    function messageDiv(t)
    {
        var v = document.createElement("div>");
        v.innerHTML = "table style=\"width:300px;\" id=message>" +
                      "tr style=\"font-size:12px;background-color:#EEEEff;color:#227933;height:20px\">" + 
                      "td style=\"padding:2px;border-top:1px solid #E1E1E1;border-left:1px solid #E1E1E1;border-bottom:1px solid #818181;border-right:1px solid #A1A1A1\">" +
                      "nobr>img src=refresh.gif align=absmiddle> " + t + ",span id=Span1>连接未初始化.../span>/nobr>/td>/tr>/table>";
        var l = document.getElementsByName("message").length;
        v.style.cssText = "position:absolute;bottom:" + (l*24) + "px;left:0px;display:none";
        document.body.appendChild(v);
        this.clear = function () {
            document.body.removeChild(v);
            var msg = document.getElementsByName("message");
            for (var i=0;imsg.length;i++){
                msg[i].parentNode.style.cssText = "position:absolute;bottom:" + (i*24) + "px;left:0px";
            }
        }
        this.showmsg = function (s) {
            v.style.display = "";
            v.all.Span1.innerHTML = s;
        }
    }
    function Ajax() {
        var x = new createXMLHttpRequest();
        this.Request = function (url,cmd,async,method,postString,title) {
            if (method!="post") method = "post"; else method = "get";
            if (async!=true) async = true; else async = false;
            if (typeof(postString)!="string") postString="";
            if (typeof(title)!="string") title="正在获取数据"; else title="正在获取" + title;
            var msgbox = new messageDiv(title);
            x.onreadystatechange = function ()
            {
                if (async) switch (x.readystate) {
                case 1:
                    msgbox.showmsg("正在初始化连接...");
                    return;
                case 2:
                    msgbox.showmsg("正在发送数据...");
                    return;
                case 3:
                    msgbox.showmsg("正在接收数据...");
                    return;
                case 4:
                    msgbox.showmsg("数据接收完成...");
                    if (x.status == 200) {
                        cmd(x.responseText);
                        msgbox.clear();
                    }
                    else {
                        msgbox.showmsg("请求失败," + x.statustext + "(" + x.status + ")");
                        setTimeout(msgbox.clear,3000);
                    }
                    return;
                }
            }
            x.open (method,url,async);
            if (method=="post") {msgbox.showmsg("正在接收数据...");x.send(postString);} else x.send();
            if (!async) {
                msgbox.showmsg("数据接收完成...");
                cmd(x.responseText);
                msgbox.clear();
            }
        }    
    }

    您可能感兴趣的文章:
    • ajax的工作原理以及异步请求的封装介绍
    • js原生Ajax的封装和原理详解
    • 基于jQuery的ajax方法封装
    • 原生Javascript封装的一个AJAX函数分享
    • 封装了jQuery的Ajax请求全局配置
    • 自己动手封装的 ajax
    • 关于Ajax的原理以及代码封装详解
    上一篇:浏览器跨域获取Lrc歌词数据的解决办法
    下一篇:Ajax Hacks chm文件与源代码 下载
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    一个封装的Ajax类 一个,封,装的,Ajax,类,一个,