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);
            }
        });

 

转载于:https://www.cnblogs.com/xqhppt/archive/2011/12/07/2278972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值