zoukankan      html  css  js  c++  java
  • XMLHttpRequest Demo

    1 一个XMLHttpRequest简单封装DEMO,详细参考http://www.w3school.com.cn/xmldom/dom_http.asp

    var ajax = {
                request: null,
                options: {
                    method: "",
                    url: "",
                    asyn: null,
                    dataType: "",
                    success: function(obj) { },
                    error: function(msg) { }
                },
                checkOptions: function(opts) {
                    var msg = 0;
                    if (!opts.hasOwnProperty("method")) {
                        msg = -1;
                    }
                    if (!opts.hasOwnProperty("url")) {
                        msg = -1;
                    }
                    if (!opts.hasOwnProperty("asyn")) {
                        opts.asyn = true;
                    }
                    if (!opts.hasOwnProperty("dataType")) {
                        opts.dataType = "text";
                    }
                    if (!opts.hasOwnProperty("success")) {
                        opts.success = function() { };
                    }
                    if (!opts.hasOwnProperty("error")) {
                        opts.error = function() { };
                    }
                    return msg;
                },
                create: function(obj) {
                    var _this = this;
    
                    if (_this.checkOptions(obj) == -1) {
                        alert("method or url is null");
                        return false;
                    }
    
                    if (window.XMLHttpRequest) {
                        this.request = new XMLHttpRequest();
                    } else {
                        this.request = new ActiveXObject("Microsoft.XMLHTTP");
                    }
    
                    _this.options = obj;
    
                    _this.request.onreadystatechange = function() {
                        if (_this.request.readyState == 4) {
                            if (_this.request.status == 200) {
                                var rd;
                                if (_this.options.dataType == "text") {
                                    rd = _this.request.responseText;
                                } else {
                                    rd = _this.request.responseXml;
                                }
                                _this.options.success(rd);
                            }
                            else {
                                var msg = _this.request.status;
                                _this.options.error(msg);
                            }
                        }
                    }
    
                    _this.request.open(_this.options.method, _this.options.url, _this.options.asyn);
                    _this.request.send(null);
                }
    
            }
    
            ajax.create({
                method: "GET",
                url:"xml/xml.xml",
                asyn: true,
                dataType:"text",
                success: function(obj) {
                    alert(obj);
                },
                error: function(msg) {
                    alert(msg);
                }
            });
    
  • 相关阅读:
    什么是Flex 布局
    wx.navigateTo、wx.redirectTo和wx.switchTab三种导航方式的区别
    Ajax 工作原理 及 实例
    NodeJS之 Express框架 app.use(express.static)
    Parcel 入门 (一)
    打包工具的介绍
    CSS网页布局
    《拖延心理学》阅读要点
    PHP实现页面静态化
    PHP中的魔术方法
  • 原文地址:https://www.cnblogs.com/xqhppt/p/2278972.html
Copyright © 2011-2022 走看看