先贴上代码。
传入4给参数,保证post,get都能执行,和普通的ajax区别在于添加了设置的timeout。
并在每一次的发送接收请求后执行dialog()方法。
function AjaxRequest(apiUrl, method, param, callback) {
$.ajax({
url: apiUrl,
type: method,
data: param,
timeout: 150000,
dataType: "JSON",
beforeSend: function (XMLHttpRequest) {
dialog("加载中...", false);
});
},
success: function (data, textStatus) {
dialog("加载中...", true);
return callback(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
dialog("加载失败!", true);
},
complete: function (XMLHttpRequest, status) {
if (status == "timeout") {
dialog("网络超时!", true);
}
}
});
}
// dialog()方法中主要是对is的判断,如果是true,那么延迟一秒后隐藏,保证至少提示框能显示出来,false的话就不操作。
function dialog(msg, is) {
var d = $(".ajax_box");
d.find(".ajax_dialog").text(msg);
is
?
setTimeout(function () {
d.fadeOut();
}, 1000) :
"";
}
原文地址:https://www.cnblogs.com/HoredCX/p/10129859.html