我正在尝试让我的ajax请求工作,但只返回0; 我不确定为什么我没有收到回复。我真的不完全理解my_ajax_pagination()函数如何处理。我只是在网上找到其他解决方案并找到类似的东西。
$(document).on( 'click', 'polygon', function( event ) {
var county = $(this).attr('id')
var region = $(this).closest('a').data('region');
jQuery.ajax(
{
type: 'POST',
url: ajaxpagination.ajaxurl,
dataType:'json',
data: {
action: 'my_ajax_pagination',
},
success: function(data){
console.log(data);
},
error:function(err){
console.log('err')
}
});
})
})(jQuery);
的functions.php
function my_enqueue_assets() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_script( 'ajax-pagination', get_stylesheet_directory_uri() . '/js/ajax-pagination.js', array( 'jquery' ), '1.0', true );
global $wp_query;
wp_localize_script( 'ajax-pagination', 'ajaxpagination', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'query_vars' => json_encode( $wp_query->query ),
'serurity' => wp_create_nonce('wp-admin-order')
));
};
function my_ajax_pagination() {
$query_vars = json_decode( stripslashes( $_POST['query_vars'] ), true );
$query_vars['county'] = $_POST['county'];
$query_vars['region'] = $_POST['region'];
$query = new WP_Query( array(
'post_type' => 'resource',
'posts_per_page'=> -1
) );
echo $query_vars;
die();
};
add_action( 'wp_ajax_nopriv_ajax_pagination', 'my_ajax_pagination' );
add_action( 'wp_ajax__ajax_pagination', 'my_ajax_pagination' );
答案 0 :(得分:1)
你得到0的原因是在WordPress中没有调用任何函数。您发送到ajax的操作应该是ajax_pagination
而不是my_ajax_pagination
,操作应该与wp_ajax_{name}
同名。