Один ajax-запрос, но дважды полученный на сервере, что приводит к дублированию записей при добавлении новой записи - PullRequest
0 голосов
/ 19 февраля 2019

Я использую (jQuery) ajax-запрос для отправки формы для методов CRUD.Но у меня есть эта проблема на некоторое время.Иногда один ajax-запрос получается дважды на сервере, что приводит к дублированию данных при добавлении новых записей.Я проверил с помощью Inspect Element, чтобы отслеживать запрос ajax, он показывает только один запрос.

Вот запрос ajax

        $.ajax({   
            type: "POST",
            data : data,
            cache: false,  
            async: true,
            processData: true,
            contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
            dataType: 'json',
            url: setting.url,

Есть ли у кого-нибудь подобные проблемы?что вызвало это?

1 Ответ

0 голосов
/ 19 февраля 2019

Если вы запускаете ajax-вызов через событие щелчка элемента, предложите отключить кнопку, это будет означать использование метода .one () и повторную привязку обработчика события после обратного вызова:

var clickHandler = function(e){
   $.ajax({
       url: url,
       type: 'POST',
       async: true,
       dataType: 'json',
       enctype: 'multipart/form-data'
       cache: false,
       success: function(data){
          $('#button1').one('click', clickHandler);
       },
      error: function(){}
   });   
   e.stopImmediatePropagation();
   return false;
 }
 $('#button1').one('click', clickHandler);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...