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