Wordpress admin-ajax.php 400
我对wordpress admin-ajax.php文件有一种奇怪而令人沮丧的行为,当我发出一个ajax请求时,它会返回400个错误错误请求Wordpress admin-ajax.php 400,php,wordpress,Php,Wordpress,我对wordpress admin-ajax.php文件有一种奇怪而令人沮丧的行为,当我发出一个ajax请求时,它会返回400个错误错误请求 var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php'; var true_posts = '<?php echo serialize($wp_query->query_vars); ?>'; var current_page = <?php e
var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php';
var true_posts = '<?php echo serialize($wp_query->query_vars); ?>';
var current_page = <?php echo (get_query_var('paged')) ? get_query_var('paged') : 1; ?>;
var max_pages = '<?php echo $wp_query->max_num_pages; ?>';
jQuery(function($){
$('#true_loadmore').click(function(){
$(this).text('Loading...');
var data = {
'action': 'loadmore',
'query': true_posts,
'page' : current_page
};
$.ajax({
url:ajaxurl,
data:data,
type:'POST',
success:function(data){
if( data ) {
$('#true_loadmore').text('View more recent Posts').before(data);
current_page++;
if (current_page == max_pages) $("#true_loadmore").remove();
} else {
$('#true_loadmore').remove();
}
}
});
});
});
我得到了400个错误。
有人能帮我吗?谢谢。问题应该是发送数据时的操作 “action”值必须与php端(以及add_action方法)中的函数名相对应
希望这有帮助。编辑您的帖子,不要在评论中插入代码块。它没有帮助:(我认为操作必须加载更多,因为
wp\u ajax\u loadmore
你说得对,对不起。你是如何声明js文件的?我在index.phpI中添加了带有脚本标记的js文件。然后,我建议你将脚本排队并对其进行本地化。我找到了一个简单的指南,在那里你可以找到我告诉你的内容:(第一个代码)。
add_action('wp_ajax_loadmore', 'true_load_posts');
add_action('wp_ajax_nopriv_loadmore', 'true_load_posts');
function true_load_posts(){
$args = unserialize( stripslashes( $_POST['query'] ) );
$args['paged'] = $_POST['page'] + 1;
$args['post_status'] = 'publish';
query_posts( $args );
if( have_posts() ) :
while( have_posts() ): the_post();
get_template_part( 'template-parts/post/content', get_post_format() );
endwhile;
endif;
die();
}
var data = {
'action': 'true_load_posts', //instead of 'loadmore'
'query': true_posts,
'page' : current_page
};