2

我正在尝试在 wordpress 中调用 ajax。它在浏览器中运行良好,但在移动设备中返回响应 0 。这是我的 wordpress 和 Jquery 代码。请建议我在哪里做错了

functions.php 文件中的代码

function get_nearest_destinations() 
{

    $data = array();
    check_ajax_referer( "getnearestdestinations" );
    $args = array(
           'post_type' => 'post',
           'post_status' => 'publish',
           'posts_per_page' => -1,
         );

        $the_query =  new WP_Query($args);   

        if($the_query->have_posts()){

            while ( $the_query->have_posts() ) :

                      $the_query->the_post();
                      $data[] = array('title'=>get_the_title());
                       endwhile;
                }

          echo  json_encode($data); exit();     

}

add_action( 'wp_ajax_getnearest', 'get_nearest_destinations' );

下面是模板文件中的js代码....

<?php $nonce = wp_create_nonce( 'getnearestdestinations' );  ?>

jQuery.ajax({
            type: "POST",
            url: "<?php echo bloginfo('url').'/wp-admin/admin-ajax.php'; ?>",
            data: { action: 'getnearest', _ajax_nonce: '<?php echo $nonce; ?>'},
            dataType: "json",
            success: function(html){ 
                alert(html)
            }
        }); //close jQuery.ajax(
4

1 回答 1

4

可能是您有未登录用户问题。请为未登录用户使用以下语法

add_action('wp_ajax_nopriv_getnearest', 'get_nearest_destinations'); // Not logged in user
于 2013-11-01T07:20:13.563 回答