先贴上代码。 传入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) : ""; }