如何防止ajax调用触发两次

时间:2019-01-08 04:18:15

标签: php jquery ajax

我有一个ajax调用,该调用在click上发生document事件时触发。 Ajax调用似乎正在执行twice,但我不确定为什么会这样。

此文件在MySQL 5PHP 5Apache 2上运行

我的问题是::如何防止ajax调用触发twice

这是我的JQuery代码:

$(document).on('click', '.edit_quyet_dinh', function(){  
    var ma_quyet_dinh = $(this).attr("id");
    var ma_cong_trinh = $(this).attr("data-id");
    $.ajax({  
        url:"fetch_quyet_dinh.php",  
        method:"POST",  
        data:{ma_quyet_dinh:ma_quyet_dinh,ma_cong_trinh:ma_cong_trinh},  
        dataType:"json",  
        success:function(data){  
            $('#ten_quyet_dinh').val(data.ten_cong_trinh);  
            $('#shct_qd').val(data.so_hieu);  
            $('#so_quyet_dinh').val(data.so_quyet_dinh);  
            $('#ngay_duyet').val(data.ngay_duyet);  
            $('#ma_quyet_dinh').val(data.ma_quyet_dinh);  
            $('#insert_qd').val("Update");  
            $('#add_quyet_dinh').modal('show');  
        }  
    });  
});     

1 个答案:

答案 0 :(得分:0)

您必须使用以下代码:

$(document).on('click', '.edit_quyet_dinh', function(event){  
   event.preventDefault();
   event.stopPropagation();

   // other codes
});  

此方法停止两次调用jquery事件函数。

  

stopPropagation 阻止事件冒泡事件链。

     

preventDefault 阻止浏览器对该事件进行默认操作。