Я использую jQuery и jQuery UI. Я испытал, что пользователи иногда запускают ajax-вызовы более одного раза, потому что кнопка/ссылка, которая запускает вызов, не отключается сразу после их нажатия. Чтобы этого не случилось, я теперь отключил кнопку/ссылку в моем "beforeSend" -action.
Вот как выглядит обычный Ajax-вызов для меня:
$.ajax({
type: "POST",
url: "someURL"
data: "someDataString",
beforeSend: function(msg){
$(".button").button("disable");
},
success: function(msg){
$(".button").button("enable");
// some user Feedback
}
});
Но я не хочу добавлять эту кнопку. Отключите логику в каждом вызове Ajax. Есть ли способ глобально определить функцию, которая вызывается каждый раз до/после и ajax-вызов?