【发布时间】:2021-06-25 08:53:01
【问题描述】:
当我在我的删除 ajax 中添加我的函数 fetchcategory(); 时,我的表没有刷新:
$(document).on('click', '.delete_category_btn', function (e) {
e.preventDefault();
var cat_id = $('#delete_cat_id').val();
alert('Category Deleted!');
// location.reload();
$('#deleteCategoryModal').modal('hide');
fetchcategory();
//token taken from laravel documentation
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "DELETE",
url: "/clinical/bbr-category-configuration-delete/"+cat_id,
dataType: "dataType",
});
});
作为参考,我的屏幕截图显示了警报,显示删除功能如下:
另一个参考是我这里的add函数在添加新表后重新加载页面:
$.ajax({
type: "POST",
url: "/clinical/bbr-category-configuration",
data: category_data,
dataType: "json",
success: function (response){
console.log(response);
if(response.status == 400) {
$('#category_formCheck').html("");
$('#category_formCheck').addClass('alert alert-danger');
$.each(response.errors, function (key, err_values) {
$('#category_formCheck').append('<li>'+err_values+'</li>');
});
}
else
{
$('#category_notif').html("");
$('#category_notif').addClass('alert alert-success');
$('#category_notif').text(response.message);
$('#createCategory').modal('hide');
fetchcategory();
}
}
});
我的另一个问题是我尝试在里面添加警报和刷新功能:
$.ajax({
type: "DELETE",
但他们没有出现,所以我把他们放在on(click里面
为什么我的 delete ajax 没有刷新我的表?
更新:
- 我知道
location.reload();,但添加它会破坏目的。 - 数据确实被删除了,但我必须手动刷新整个页面才能看到更改。
【问题讨论】:
-
你可以使用 location.reload(); 重新加载页面
-
当您将它们放在
onClick中时,它们会在项目被删除之前被调用。相反,您必须找出执行删除后没有调用它们的原因。删除成功了吗? -
@JohnLobo 是的,我知道,但这违背了 ajax 的目的
-
@shaedrich 是的,删除成功,请更新我的描述
-
尝试将 reload 函数重新添加到您的删除成功回调中,并在其中添加控制台日志以检查它是否被调用。而且您的浏览器开发工具中没有任何错误消息?
标签: ajax laravel function sql-delete