【发布时间】: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