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