我认为您想要与 ajaxSuccess() 方法相反的方法。它是ajaxSend() 方法。
$(document).ajaxSend(function (event, xhr, settings) {
console.log("ajaxSend");
});
$(document).ajaxSuccess(function (event, xhr, settings) {
console.log("ajaxSuccess");
});
$.post(url, function (result) {
console.log("post");
});
/*
console result
ajaxSend
post
ajaxSuccess
*/
补充:你可以这样做,但我不建议跟随代码。只要选择这个想法。
(function ($) {
$.post = function (url, data, callback, type) {
// shift arguments if data argument was omitted
if (jQuery.isFunction(data)) {
type = type || callback;
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: "POST",
dataType: type,
data: data,
success: function (success, statusText, jqXHR) {
jQuery.event.trigger("ajaxCallbackBefore", [jqXHR, success]);
callback(success, statusText, jqXHR);
}
});
};
})(jQuery);
jQuery.fn.ajaxCallbackBefore = function (fn) {
return this.on("ajaxCallbackBefore", fn);
};
$(function () {
$(document).ajaxCallbackBefore(function () {
console.log("ajaxCallbackBefore");
});
$(document).ajaxSend(function () {
console.log("ajaxSend");
});
$(document).ajaxSuccess(function () {
console.log("ajaxSuccess");
});
$.post(url, function (result) {
console.log("post");
});
});