为什么wp_send_json返回null

时间:2016-07-20 13:48:14

标签: php jquery ajax wordpress

目标:按下按钮"添加到收藏夹"以及包含所选商品地图的页面。 我最喜欢的帖子ID存储在js-cookie数组

liked = $.cookie("liked");
$.ajax({
    type: "GET",
    url: ajaxurl,
    data: {
        action : 'ids',
        id : liked
    },
    success: function (response) {
    console.log('AJAX response : ',response);
}

在functions.php中

add_action( 'wp_ajax_ids', 'ids_function' );
add_action( 'wp_ajax_nopriv_ids', 'ids_function' );    

function ids_function() 
{
    $myArray = array($_REQUEST['id']); 
    wp_send_json( $myArray );

}

在包含所选商品地图的页面中,我调用finction ids_function()并返回页面null。但是在console.log中我看到了需要数组。如何在我的页面中获取它? TNX!

1 个答案:

答案 0 :(得分:0)

不确定这是否是您要完成的任务,但是,您可以重写该函数,以便在从PHP调用时也能正常工作。

function ids_function ($is_ajax = true) 
{
    $myArray = array($_REQUEST['id']); 
    if ($is_ajax)
    {
        # NOTE: it die()-s here (after outputting the JSON data)
        wp_send_json( $myArray );
    }
    return $myArray;
}

然后你可以像这样用PHP调用它:

$myarray = ids_function (false);

还要考虑PHP和Javascript在不同时间运行......