2017-06-21 118 views
1

我想让我的ajax请求工作,但只得到返回0; 不确定为什么我没有得到回应。我没有真正理解my_ajax_pagination()函数如何处理。我只是在网上找到其他解决方案,发现了类似的东西。AJAX在WordPress的返回0

$(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'); 

回答

1

你得到0的原因是,没有函数被调用的WordPress。您发送给ajax的操作应该是ajax_pagination而不是my_ajax_pagination,操作应该与wp_ajax_{name}同名。

+0

工作过(:谢谢你 –