Ajax не будет готовить div - PullRequest
1 голос
/ 08 июня 2019

У меня есть основной раздел комментариев, где люди могут оставлять отзывы и отвечать на отзывы других людей.Я отправил отзыв с помощью ajax, и он работает правильно, div добавляется к родительскому элементу без необходимости обновления.Однако, когда я пытаюсь добавить ответ к отзыву, он не обновляет содержимое, только после обновления ответ добавляется.Ответить jquery

$(function () {
    const $replyForm = $('#send-reply-form');

    $replyForm.on('submit', function (event) {
        event.preventDefault();
        const dataToSend = $replyForm.serialize();

        $.post($replyForm.attr('action'), dataToSend, function (serverData) {
            $('.comments-list').prepend(serverData);
        })
    })
})

Контроллер:

[HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> AddReply(AddFeedbackViewModel model)
        {
            var feedbackModel = await this.feedbackService.AddReply(model);

            return this.PartialView("_ReplySectionPartial", feedbackModel);
        }

_ReplySectionPartial

@model FeedbackViewModel

<div class="single-comment replyComment justify-content-between d-flex">
    <div class="user justify-content-between d-flex">
        <div class="thumb">
            <img src="~/images/blog/c6.jpg" alt="">
        </div>
        <div class="desc">
            <h5>
                <a href="#">@Model.Name</a>
            </h5>
            <p class="date">@Model.CreatedOn.Value.ToLongDateString()</p>
            <p class="comment">
                @Model.Comment
            </p>
        </div>
    </div>
</div>

В чем может быть проблема, почему она не будет обновляться, пока не будет обновлена?

1 Ответ

0 голосов
/ 08 июня 2019

Я нашел способ, добавил id к родительскому элементу и использовал его для добавления к нему.

$(function () {
    const $replyForm = $('#send-reply-form');

    $replyForm.on('submit', function (event) {
        event.preventDefault();
        const dataToSend = $replyForm.serialize();

        const dataArray = $replyForm.serializeArray();
        var feedbackId = dataArray[0].value;

        const feedbackParentElement = $('#' + feedbackId);

        $.post($replyForm.attr('action'), dataToSend, function (serverData) {
            $(feedbackParentElement).prepend(serverData);
        })
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...