Загрузка страницы в div через Ajax возвращает ошибки - PullRequest
0 голосов
/ 30 октября 2018

Я сейчас пытаюсь загрузить определенную часть страницы в div, используя Ajax:

$(document).on("click", "#claim_forum_groups", function (e) {
    e.preventDefault();
    $.ajax({
        url: "/user/{{ $user->id }}/groups",
        type: "POST",
        cache: false,
        data: {
            subtype: 'claim_groups',
            type: 'forum_account'
        },
        headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
    })
   .done(function (data) {                      
        if(data == "success")
        {
            $("#forum_info_container").load(location.href + " #forum_info_container");
            $("#forum_data_container").load(location.href + " #forum_data_container");
            alert("good");
        }
    })
   .fail(function (data) {
        console.log(data);
        alert("bad");
    });
});

То, что сейчас происходит, довольно странно. Иногда он загружает оба div'а правильно. Когда я снова пытаюсь «стресс-тестировать» все, он просто загружает «forum_info_container», а когда я проверяю вкладку «Сеть», он показывает ошибку неопределенного индекса id stdClass, который используется в представлении.

Даже когда я тестирую его, ID определяется , потому что когда я обновляю страницу, все выглядит нормально. Кажется, иногда работает, а иногда нет. Я предполагаю, что .load () работает слишком рано или что-то в этом роде. Я пытался использовать setTimeOut, но это не исправило ситуацию.

Это мой div для forum_data_container для справки:

<div class="card-body mb-3" style="padding-top:0px" id="forum_data_container">
        @if(!is_null($info))
            <div class="post-meta mb-2">
                 Posts - {{ $info->id }}
            </div>
            <div class="post-meta mb-2">
                 Stats - {{ $info->id }}
            </div>
        @else
            No info available.
        @endif
</div>

1 Ответ

0 голосов
/ 30 октября 2018

попробуйте это:

$("#forum_info_container").load(window.location + " #forum_info_container");
$("#forum_data_container").load(window.location + " #forum_data_container");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...