Получение ошибки 403 при бесконечной загрузке ajax - PullRequest
0 голосов
/ 27 мая 2020

Следуя рекомендациям по моему предыдущему вопросу, я решил реализовать на своей странице скрипт бесконечной загрузки. Однако при срабатывании скрипта я получаю ошибку 403 - запрещено. Это мой javascript:

jQuery(document).ready(function( $ ){

    var ajaxurl = "<?php echo admin_url('admin-ajax.php') ?>";
    var page = 2;

    $(window).scroll(function() {
        if($(window).scrollTop() == $(document).height() - $(window).height()) {
            var data = {
                'action': 'load_posts_by_ajax',
                'page': page,
                'security': '<?php echo wp_create_nonce("load_more_posts"); ?>'
            };

            $.post(ajaxurl, data, function(response) {
                $('.main').append(response);
                page++;
            });
        }
    });

});

И это в моих функциях. php:

add_action('wp_ajax_load_posts_by_ajax', 'load_posts_by_ajax_callback');
add_action('wp_ajax_nonpriv_load_posts_by_ajax', 'load_posts_by_ajax_callback');

function load_posts_by_ajax_callback() {
    check_ajax_referer('load_more_posts', 'security');

    $paged = $_POST['page'];
    $args = [
        'post_type' => 'spell',
        'posts_per_page' => '30',
        'paged' => $paged
    ];

    $my_posts = new WP_Query ($args);

    while($my_posts->have_posts()) {

        //the content goes here

    }

    wp_die();

}

Я дважды проверил, все в порядке, но я продолжаю получать 403 ошибки. Первоначальный запрос перед скриптом проходит без проблем. Единственный сторонний плагин, который я установил, - это Advanced Custom Fields.

EDIT: это журнал консоли: enter image description here

1 Ответ

0 голосов
/ 28 мая 2020

После долгих исследований, проб и ошибок я до сих пор не знаю, что вызвало ошибку 403 или как ее исправить, но я решил переключить передачи и нашел другое решение для бесконечной прокрутки, как описано в этот пост . Сначала я получал внутреннюю ошибку сервера 500, но после еще нескольких проб и ошибок я определил проблему в функции, которая вызывалась из включенного файла php. Я включил содержимое этой функции в тело кода, и теперь она работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...