Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django Ajax如何使用Ajax而不是普通请求删除注释?_Javascript_Jquery_Django_Ajax - Fatal编程技术网

Javascript Django Ajax如何使用Ajax而不是普通请求删除注释?

Javascript Django Ajax如何使用Ajax而不是普通请求删除注释?,javascript,jquery,django,ajax,Javascript,Jquery,Django,Ajax,我已经设置了代码,用户可以删除文章的评论。但是,当前,当他们删除评论时,它将刷新页面并将其带回顶部。我正在尝试实现Ajax,这样当他们删除评论时,它就可以在不刷新页面的情况下完成 这是我目前删除评论的代码 index.py <form action="{% url 'add-delete-view' %}" method="POST" class="ui form"> {% csrf_token %} <input t

我已经设置了代码,用户可以删除文章的评论。但是,当前,当他们删除评论时,它将刷新页面并将其带回顶部。我正在尝试实现Ajax,这样当他们删除评论时,它就可以在不刷新页面的情况下完成

这是我目前删除评论的代码

index.py

<form action="{% url 'add-delete-view' %}" method="POST" class="ui form">
{% csrf_token %}
<input type="hidden" name="comment_id" value="{{c.id}}">
<button type="submit" onClick="deleteComment({{c.id}})" id= "{{c.id}}" class="ui primary button c_edit{{c.id}}" name="submit_d_form">delete</button>
views.py

@login_required
def delete_comment(request):
    comment_obj = Comment.objects.get(id=request.POST.get('comment_id'))
    comment_obj.delete()

    return redirect('index')
我曾试图实现Ajax,但我只是觉得无法让它正常工作

在index.py中,我添加了以下函数:

function deleteComment(comment_id) {
    var action = confirm("Are you sure you want to delete this comment?");
    var comment = $(this)
    if (action != false) {
        $.ajax({
            method: 'DELETE',
            url: '{% url "add-delete-view" %}',
            success: function (data, textStatus, jqXHR) {
                    comment.remove();
            },
    });
  }
}
但我只是不确定下一步该去哪里,或者这是否可行。任何帮助或代码都将不胜感激。感觉这个简单的概念很难实现

提前谢谢。

嗨,check post会帮你的。嗨,check post会帮你的。
function deleteComment(comment_id) {
    var action = confirm("Are you sure you want to delete this comment?");
    var comment = $(this)
    if (action != false) {
        $.ajax({
            method: 'DELETE',
            url: '{% url "add-delete-view" %}',
            success: function (data, textStatus, jqXHR) {
                    comment.remove();
            },
    });
  }
}