Я работаю над проблемой, когда мне нужно удалить запись в базе данных без обновления страницы списка. Однако с созданной мной функцией ajax и представлением данные удаляются, но функция успеха не меняется на true. Страница списка отображается как есть, а при обновлении вручную удаленных данных не отображается. Кроме того, поскольку я новичок в ajax, у меня меньше идей о том, что поместить в словарь данных в ajax для удаления. Что я делаю не так в коде? Пожалуйста, помогите мне сделать это без обновления страницы. (Мне нужно остаться на странице централистов). Заранее спасибо.
<script>
$(document).on('click','#delete',function(){
var a ;
a=confirm("Do you really want to delete the user?");
if(a==true){
var url = "{% url 'NewApp:centredelete' pk=1%}"
var id = $(this).attr('name')
$.ajax(
{
type:"GET",
url: url.replace('1',id),
data:{
delete:true
},
success: function( data )
{
if(data.success == true){
$(id).remove();
}
}
})}
});
</script>
views.py
def CentreDeleteView(request, pk):
data = {'success': False}
centre = Centre.objects.get(pk=pk)
print(centre)
if request.method == 'GET':
try:
if centre:
centre.delete()
data['success'] = True
else:
data['success'] = False
data['error'] = "unsuccessful!"
except Centre.DoesNotExist:
return redirect('/NewApp/centrelist')
return JsonResponse(json.dumps(data))