js 对ajax进行封装处理

function GetAjax() {
        this.ajax = function (opts) {
            var _this = this;
            this.method = opts.method || "post";
            this.url = opts.url;
            this.data = opts.data || {};
            this.cache = opts.cache || false;
            if (typeof opts.async === "undefined" || opts.assign === null || opts.assign === "") {
                this.async = true;
            } else {
                this.async = opts.async;
            }

            this.dataType = opts.dataType || "json";
            this.beforeSend = opts.beforeSend || function () {
                return true;
            };
            this.complete = opts.complete || function () {
                return true;
            };
            this.success = opts.success || function () {
                return true;
            };
            this.error = opts.error || function () {
                return true;
            };

            var wait = function () {
                var d = $.Deferred();
                $.ajax({
                    method: _this.method,
                    url: _this.url,
                    data: _this.data,
                    dataType: _this.dataType,
                    cache: _this.cache,
                    async: _this.async,
                    beforeSend: function (XHR) {
                        _this.layerload = layer.load(1);
                        _this.beforeSend(XHR);
                    },
                    success: function (res) {
                        _this.success(res)
                    },
                    error: function (err) {
                        _this.error(err)
                    },
                    complete: function (XHR, TS) {
                        layer.close(_this.layerload);
                        _this.complete(XHR);
                    }
                }).done(function (res) {
                    d.resolve(res);
                }).fail(function (err) {
                    console.error(err);
                    d.reject(err);
                });
                return d.promise();
            };
            return $.when(wait());

        }
    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值