Wordpress中的AJAX - 在2个不同的div中加载一些数据。

时间:2014-10-12 16:14:09

标签: php jquery ajax wordpress

我使用以下jquery代码通过Wordpress中的AJAX检索帖子内容:

$.ajax({
    type: 'POST',
    url: ajax_object.ajaxurl,
    data: ({action : 'ajax_page',
        post_id: page_id
    })
})
.done(function(data){
    $('#page-content').html(data);
});

php函数:

function ajax_page() {
    $post_id = $_POST['post_id'];
    $post_data = get_post($post_id);
    $title = $post_data->post_title;
    $content = $post_data->post_content;
    echo $title;
    echo $content;
    die(); // remove trailing 0
}

但我希望能够在2个不同的div中加载$ title和$ content。

$.ajax({
    type: 'POST',
    url: ajax_object.ajaxurl,
    data: ({action : 'ajax_page',
        post_id: page_id
    })
})
.done(function(data){
    $('#page-title').html(title);
    $('#page-content').html(data);
});

非常感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用数组以干净的方式分隔您的ajax内容:

function ajax_page() {
    $post_id = $_POST['post_id'];
    $post_data = get_post($post_id);
    $title = $post_data->post_title;
    $content = $post_data->post_content;

    echo json_encode(array($title,$content));
    die(); // remove trailing 0
}

然后从数组中获取两个不同的返回值:

.done(function(data){
    var myData = jQuery.parseJSON(data);
    $('#page-title').html(myData[0]);
    $('#page-content').html(myData[1]);
});

答案 1 :(得分:0)

在php函数中返回包含标题和数据的json数据,试试

echo json_encode(array('title'=>$title, 'data'=>$data));

在html中解析json数据并向你显示div;