如何防止多个ajax?
How to prevent multiple ajax?
当我点击删除按钮时,详细信息按钮的 ajax 也会被调用。
那么如何防止多个ajax?
<div id="detail_message" data-id="{{ $value->message->id }}">
<i class="fa fa-trash icon col-6" aria-hidden="true"style="font-size: 20px; color: #5b5b5b" id="delete_message" data-id="{{ $value->message->id }}"></i>
</div>
$('#delete_message').click(function(event){
event.preventDefault();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/delete_message") }}/'+id,
type: 'GET',
success: function(data){
alert('Message Deleted Successfully');
}
})
});
$('#detail_message').click(function(event){
event.preventDefault();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/detail_message") }}/'+id,
type: 'GET',
success: function(data){
$('#content-message').html(data);
}
})
});
在您的删除消息点击事件中添加 event.stopPropagation()。
$('#delete_message').click(function(event){
event.preventDefault();
event.stopPropagation();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/delete_message") }}/'+id,
type: 'GET',
success: function(data){
alert('Message Deleted Successfully');
}
})
});
说明:当删除消息按钮被点击时,事件被触发并不断冒泡到它的所有父部门。
event.stopPropagation() 停止事件的冒泡,点击子事件时不会触发父分裂事件。
当我点击删除按钮时,详细信息按钮的 ajax 也会被调用。 那么如何防止多个ajax?
<div id="detail_message" data-id="{{ $value->message->id }}">
<i class="fa fa-trash icon col-6" aria-hidden="true"style="font-size: 20px; color: #5b5b5b" id="delete_message" data-id="{{ $value->message->id }}"></i>
</div>
$('#delete_message').click(function(event){
event.preventDefault();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/delete_message") }}/'+id,
type: 'GET',
success: function(data){
alert('Message Deleted Successfully');
}
})
});
$('#detail_message').click(function(event){
event.preventDefault();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/detail_message") }}/'+id,
type: 'GET',
success: function(data){
$('#content-message').html(data);
}
})
});
在您的删除消息点击事件中添加 event.stopPropagation()。
$('#delete_message').click(function(event){
event.preventDefault();
event.stopPropagation();
var id = $(this).attr('data-id');
$.ajax({
url: '{{ url("message/delete_message") }}/'+id,
type: 'GET',
success: function(data){
alert('Message Deleted Successfully');
}
})
});
说明:当删除消息按钮被点击时,事件被触发并不断冒泡到它的所有父部门。 event.stopPropagation() 停止事件的冒泡,点击子事件时不会触发父分裂事件。