Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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-无需重新加载即可正确附加新注释_Javascript_Jquery_Ajax_Django - Fatal编程技术网

Javascript-无需重新加载即可正确附加新注释

Javascript-无需重新加载即可正确附加新注释,javascript,jquery,ajax,django,Javascript,Jquery,Ajax,Django,我问了一个问题,如何添加评论。我得到了很好的回答。但现在我想知道如何正确添加新注释,而不刷新!现在我添加了新的注释,只创建了包含注释和注释用户的新元素,但它们不会显示为“来自数据库”。是否有任何方法可以添加新的注释而不必重新加载整个页面,而只需加载包含注释的div并添加新注释? 我现在有这个代码: $(".comments input[name='post']").keydown(function (evt) { var keyCode = evt.which?evt.which:evt

我问了一个问题,如何添加评论。我得到了很好的回答。但现在我想知道如何正确添加新注释,而不刷新!现在我添加了新的注释,只创建了包含注释和注释用户的新元素,但它们不会显示为“来自数据库”。是否有任何方法可以添加新的注释而不必重新加载整个页面,而只需加载包含注释的div并添加新注释? 我现在有这个代码:

$(".comments input[name='post']").keydown(function (evt) {
    var keyCode = evt.which?evt.which:evt.keyCode;
    if (keyCode == 13) {
      var form = this.closest("form");
      var container = form.closest(".comments");
      var olist = $(container).find(".clearfix");
      var input = this;
      $.ajax({
        url: "{% url 'comment' letnik_id=letnik_id classes_id=classes_id subject_id=subject_id %}",
        data: $(form).serialize(),
        type: 'post',
        cache: false,
        beforeSend: function () {
          $(input).val("");
          $(input).blur();
        },
        success: function (data) {
          alert(data.comment);
          clearfix = $(container).children(".clearfix");
          clearfix.append("<small>"+data.user+"</small>" + "<br>" + data.comment)

        }
      });
    }
  });

添加注释视图,并使用
$('.comments_block')。加载('url to view')
?首先是什么进入大脑。你说的“添加评论视图”是什么意思?添加为需要页面提供评论的视图,然后用jquery加载它们。类似这样的东西谢谢。所以我只是把$('.comments_block').load('url to view')放在ajax的success函数上?
def comment(request, letnik_id, classes_id, subject_id):
        if request.method == 'POST':
            exam_id = request.POST.get('exam_id')
            exam = get_object_or_404(Exam, id=exam_id)
            comment = request.POST.get('post')
            comment = comment.strip()
            if len(comment) > 0:
                instance = ExamComment(
                    exam=exam,
                    comment=comment,
                    comment_user=request.user)
                instance.save()
                user = request.user.username
                return JsonResponse({'comment': comment, 'user': user})
        else:
            return HttpResponseBadRequest()