【问题标题】:Getting 403 error on ajax infinite loading script在 ajax 无限加载脚本上出现 403 错误
【发布时间】:2020-05-27 04:50:07
【问题描述】:

根据我上一个问题的建议,我决定在我的页面上实现一个无限加载脚本。但是,当它触发脚本时,我收到 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++;
            });
        }
    });

});

这是在我的functions.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。

编辑:这是控制台日志:

【问题讨论】:

    标签: javascript jquery ajax wordpress


    【解决方案1】:

    经过大量的研究和反复试验,我仍然不知道是什么导致了 403,或者如何解决它,但我决定换档并找到另一种解决无限滚动的方法,如@中所述987654321@。起初,我收到 500 个内部服务器错误,但经过更多的试验和错误后,我将问题定位为从包含的 php 文件调用的函数。我将该函数的内容包含在代码主体中,它现在可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多