封裝jquery的ajax,便於載入等待提示框
阿新 • • 發佈:2018-12-17
先貼上程式碼。
傳入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);
},
function dialog(msg, is) {
var d = $(".ajax_box");
d.find(".ajax_dialog").text(msg);
is
?
setTimeout(function () {
d.fadeOut();
}, 1000) :
"";
}
error: function (XMLHttpRequest, textStatus, errorThrown) { dialog("載入失敗!", true); }, complete: function (XMLHttpRequest, status) { if (status == "timeout") { dialog("網路超時!", true); } } }); }
// dialog()方法中主要是對is的判斷,如果是true,那麼延遲一秒後隱藏,保證至少提示框能顯示出來,false的話就不操作。