如何防止ajax调用两次触发

问题描述 投票:3回答:1

我有一个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');  
        }  
    });  
});     
php jquery ajax
1个回答
0
投票

您必须使用此代码:

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

   // other codes
});  

这个方法停止了两次调用jquery事件的功能。

stopPropagation阻止事件冒泡事件链。

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

© www.soinside.com 2019 - 2024. All rights reserved.