我有一个ajax
调用,该调用在click
上发生document
事件时触发。 Ajax调用似乎正在执行twice
,但我不确定为什么会这样。
此文件在MySQL 5
,PHP 5
和Apache 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');
}
});
});
答案 0 :(得分:0)
您必须使用以下代码:
$(document).on('click', '.edit_quyet_dinh', function(event){
event.preventDefault();
event.stopPropagation();
// other codes
});
此方法停止两次调用jquery事件函数。
stopPropagation 阻止事件冒泡事件链。
preventDefault 阻止浏览器对该事件进行默认操作。