//调用方法
server.resource('http://127.0.0.1:8080/api/user',{page:1},'GET').then(function(data){
console.log('我执行成功')
},function(data){
console.log('请检查网络')
})
//服务模块
var server = {};
server.resource = function(url, param, action) {
return new Ajaxfactory(url, param, action);
};//共用服务块
function Ajaxfactory(url, param, action) {
this.url = url;
this.param = param;
this.action = action;
//返回promise对象用于外部调用
return this.getData();
};
Ajaxfactory.prototype.getData = function() {
var me = this;
var LoginEl=null;
var TipEl=null;
//创建延迟对象
var dtd=$.Deferred();
$.ajax({
type: me.action,
url: me.url,
data: me.param,
dataType: 'json',
timeout: 30000,
success: function(data) {
//后台状态返回0 延迟加载失败
if(data.status==0){
dtd.reject(data);
LoginEl = $.loading({
content: '请检查网络...',
})
}else{
//后台状态返回1 延迟加载成功
dtd.resolve(data);
LoginEl.loading("hide");
}
},
beforeSend: function(data) {
LoginEl = $.loading({
content: '加载中...',
})
},
error: function(xhr, type) {
LoginEl.loading("hide");
TipEl = $.tips({
content: '链接异常',
stayTime: 10000,
type: "warn"
});
}
});
//返回promise对象
return dtd.promise();
};