@VladimirKrasnov

Почему не обновляется запись с помощью Ajax'a?

Есть скрипт который должен обновить данные на странице в определенном div. Но вместо обновления, блок с дивкой просто скрывается и что бы он снова появился нужно перезагружать страницу. Данные в data приходят, но вот html(data) что то не работает.

Когда пользователь нажимает на кнопку редатировать, открывается модальное окно с формой и полями для редача, там клац по кнопке изменить, модальное закрывается и запись сразу же обновлена.

Ранее скрипт работал, ну то есть обновлял как нужно, код в success был такой:
$("#userPost{{$post->id}}").html($(data).find("#userPost{{$post->id}}").html());

Потом изменил на такой, работать отказался:
$("#userPost"+id).html($(data).find("#userPost"+id).html());

А вот этот вовсе прячет запись, как будто hide() делаю:
$("#userPost"+id).html(data);
Сам скрипт
$('.infinite-scroll').on('click', '#editPostButton', function(e) {
    e.preventDefault();

    var id = $(this).data('id');
    var user_id = $('#userForm').val();
    var form = document.getElementById('EditPostForm'+id);
    var formData = new FormData(form);

    $.ajax({
        url: "id"+user_id+"/"+id+"/edit",
        type: "POST",
        data: formData,
        success: function(data) {
            console.log(data);
            $("#userPost"+id).html($(data).find("#userPost"+id).html());
            $("#closeButton"+id).click();
        },
        error: function() {
            console.log('error');
        },
        processData: false,
        contentType: false,
    });

});


Собственно сам пост
<div id="userPost{{$post->id}}">
                                        @if($post->img)
                                            <div>
                                                <a href="{{route('userPost', ['id' => $user->id, 'postId' => $post->id])}}" style="text-decoration: none"><img src="{{$post->img}}" class="img-fluid"></a>
                                            </div>
                                        @endif
                                        <br>
                                        @if($post->title)
                                            <div class=" mr-1 mb-3 titleleft">
                                            <a href="{{route('userPost', ['id' => $user->id, 'postId' => $post->id])}}" style="text-decoration: none"><h5 style="color: black"><b>{{$post->title}}</b></h5></a>
                                        </div>
                                        @endif
                                        @if($post->message)
                                            <a href="{{route('userPost', ['id' => $user->id, 'postId' => $post->id])}}" style="text-decoration: none"><div class="text-muted text-small margins" style="white-space: pre-wrap;">{{mb_strimwidth($post->message, 0, 600, " . . . Read more")}}</div></a>
                                        @endif
                                        @if($post->videoPost)
                                            <div class="embed-responsive embed-responsive-16by9 mt-4 mb-2">
                                                <iframe class="embed-responsive-item" src="{{$post->videoPost}}" allowfullscreen></iframe>
                                            </div>
                                        @endif
                                    </div>
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы