kero
Version:
60 lines (55 loc) • 1.66 kB
JavaScript
/**
* Module : kero app ajax
* Author : liuyk(liuyk@yonyou.com)
* Date : 2016-07-29 09:34:01
*/
import {ajax as uAjax} from 'neoui-sparrow/js/ajax';
const ajax = function (params) {
params = this._wrapAjax(params)
uAjax(params)
}
const _wrapAjax = function (params) {
var self = this
this.serverEventObj = this.serverEvent();
var orignSuccess = params.success
var orignError = params.error
var deferred = params.deferred;
if (!deferred || !deferred.resolve) {
deferred = {
resolve: function () {
}, reject: function () {
}
}
}
params.success = function (data, state, xhr) {
if (typeof data === 'string')
data = JSON.parse(data)
if (self.serverEventObj.processXHRError(self, data, state, xhr)) {
orignSuccess.call(null, data)
self._successFunc(data, deferred)
} else {
deferred.reject();
}
}
params.error = function (data, state, xhr) {
if (typeof data === 'string')
data = JSON.parse(data)
if (self.serverEventObj.processXHRError(self, data, state, xhr)) {
orignError.call(null, data)
self._successFunc(data, deferred)
} else {
deferred.reject();
}
}
if (params.data)
params.data.environment = ko.utils.stringifyJson(window.iweb.Core.collectEnvironment());
else
params.data = {environment: ko.utils.stringifyJson(window.iweb.Core.collectEnvironment())}
return params
}
const _successFunc = function (data, deferred) {
deferred.resolve();
}
export {
ajax
}