Как избежать многократного запуска обратного вызова ajax в jquery? - PullRequest
0 голосов
/ 28 февраля 2019

Я строю платежный шлюз.при вызове функции успеха ajax дважды выстрелил, как этого избежать.пожалуйста, проверьте с помощью следующего кода и направьте меня для решения этой проблемы.

class WC_custom_Gateway extends WC_Payment_Gateway {

     public function payment_fields() { 
       <script>
       var success = function(response){
          jQuery.ajax({
                            type : "POST",   
                            url: '<?php echo site_url().'/?wc-api=WC_Custom_Gateway'; ?>',
                             data: response,
                             dataType : "json",
                             cache: false,
                             success: function(response) {
                                 //alert(response.status);

                                 jQuery('#place_order').trigger('submit');
                                 return false;
                             }
                            });
        }
    </sciprt>
      }
    }

1 Ответ

0 голосов
/ 28 февраля 2019
class WC_custom_Gateway extends WC_Payment_Gateway {

 public function payment_fields() { 
   <script>
   var success = function(response){
      executed++; // global variable initialized with 0
      if (executed == 1) {
          jQuery.ajax({
                        type : "POST",   
                        url: '<?php echo site_url().'/?wc-api=WC_Custom_Gateway'; ?>',
                         data: response,
                         dataType : "json",
                         cache: false,
                         success: function(response) {
                             //alert(response.status);

                             jQuery('#place_order').trigger('submit');
                             return false;
                         }
                        });
        }

    }
</script>
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...