Функция Ajax не работает должным образом для удаления без обновления страницы - PullRequest
1 голос
/ 05 июля 2019

Я работаю над проблемой, когда мне нужно удалить запись в базе данных без обновления страницы списка. Однако с созданной мной функцией 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))

1 Ответ

0 голосов
/ 05 июля 2019

Вы не предотвратили событие отправки по умолчанию.

$(document).on('click','#delete',function(event){
  event.preventDefault();
  ..
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...