Есть страница с комментариями, хочу чтобы при отправке форме страница не обновлялась полностью, а только блок с комментами.
Обработал форму с помощью ajax. В бд все заполняется без обновления страницы, но запись который добавился в бд, цикл не видит, он ее выведет только если обновить страницу, как это исправить ???
Прошу руки помощи : )
ajax
<script>
const formID = 'form#formReview';
$(formID).on('submit', (e) => {
e.preventDefault();
$.ajax({
url: '/news/news_detail/comment/{{news.id}}/{{user.id}}/',
type: 'POST',
dataType: 'json',
data: {
comment: $(formID + ' #comment').val()
},
success: function (data) {
console.log('success');
}
})
$(formID + ' #comment').val('');
})
</script>
сама форма
<form id="formReview" action="{% if user_display %} {% url 'news:article_comments' news.id user.id %} {% else %} {% url 'news:article_comments' news.id 13 %} {% endif %}" method="POST">
{% csrf_token %}
<fieldset disabled>
<div class="form-group">
<input type="text" name="name" id="disabledTextInput" class="form-control" placeholder="{{ user.username }}">
</div>
</fieldset>
<textarea name="comment" id="comment" class="form-control" rows="3" required></textarea>
<input class="btn btn-primary form-control mt-2" type="submit" value="залишити коментарий">
</form>
виввод комментов
{% for comment in comments %}
<div class="row d-flex my-3" >
<div class="col-md-2">
<img class="img-fluid" src="{% static 'img/user.png' %}" alt="user">
</div>
<div class="col-md-10 comment">
<strong>{% if comment.id_user.first_name %}{{ comment.id_user.first_name }}{% else %}{{ comment.id_user.username }}{% endif %}</strong> <br>
<p>{{ comment.comment }}</p>
<!-- -->
</div>
</div>
{% endfor %}