Php 如何防止ajax调用触发两次

Php 如何防止ajax调用触发两次,php,jquery,ajax,Php,Jquery,Ajax,我有一个ajax调用,当click事件发生在document上时,会触发该调用。ajax调用似乎执行了两次,我不知道为什么会发生这种情况 这是在MySQL 5、php5和apache2 我的问题是:如何防止ajax调用触发两次 以下是我的JQuery代码: $(document).on('click', '.edit_quyet_dinh', function(){ var ma_quyet_dinh = $(this).attr("id"); var ma_cong_tri

我有一个
ajax
调用,当
click
事件发生在
document
上时,会触发该调用。ajax调用似乎执行了两次
,我不知道为什么会发生这种情况

这是在
MySQL 5
php5
apache2

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

以下是我的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');  
        }  
    });  
});     

您必须使用以下代码:

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

   // other codes
});  
此方法停止了两次调用jquery事件函数

stopperPagation阻止事件在事件链中冒泡

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


你能把
console.log(“X”)
在ajax调用之前和
console.log(“Y”)
在ajax调用内部?然后让我们知道你得到了什么。@Feelsbadman:我在ajax调用之前放了console.log(“X”)。控制台选项卡写入:[冲突]将非被动事件侦听器添加到滚动阻止“鼠标滚轮”事件。将事件处理程序标记为“被动”以使页面更加响应。你有动态内容还是html?我也有同样的问题,因为它。我的解决方案是将
$(document)
更改为
$(“#div”)
,我认为您应该将完整的代码放在js FIDLE或类似的东西中that@Muhammad戴亚斯:我明白了。非常感谢您:我使用您的代码,但有时它会执行两次fetch_quyet_dinh.php文件。