неділя , Листопад 19 2017

Головні новини
Ви тут: Головна / jQuery / Запобігання дублювання Ajax запитів

Запобігання дублювання Ajax запитів



Частенько при натисканні кнопки форми ми відправляємо AJAX запит. У більшості випадків ніхто не передбачає механізм, який запобігатиме дублювання даного запиту, якщо користувач випадково натисне на кнопку двічі. Розглянемо варіант вирішення даної проблеми.

Як щодо змінної-флага? Все що нам потрібно зробити, так це збити значення флага при завершенні AJAX запиту (в jQuery можемо скористатися методом complete). Таким чином ми будемо знати чи завершився минулий запит.

var requestSent = false;

jQuery("#buttonID").click(function() {
   if(!requestSent) {
      requestSent = true;

      jQuery.ajax({
         url: "http://codice.in.ua",
         ....,
         timeout: timeoutValue,
         complete: function() {
             ...
             requestSent = false;
         },
      });
   }
});

Так само ви можете виставити значення для опції timeout в запиті, який триває дуже довго (в мілісекундах). Якщо час запиту вийде, то спочатку буде викликаний метод error, а потім complete.

А як дану задачу вирішили б ви?



Автор Володимир Гривінський



Залишити коментар

Ваша електронна адреса не буде опублікована.

Вгору
UA TOP Bloggers