创建一个新的div onclick wordpress + ajax

时间:2014-07-03 05:44:57

标签: jquery ajax wordpress

我在worpress页面有一个链接

<a onclick="show_trend()" >Trend</a>

我正在调用ajax函数onclick

function show_trend() {

    // This does the ajax request
    $.ajax({
        url: ajaxurl,
        data: {
            'action':'render_admin_charts_page',

        },
        success:function(data) {
            // This outputs the result of the ajax request
            console.log(data);
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });
}

调用此函数时我想要做的是显示div部分。为此,这是我的函数

function render_admin_charts_page() {
    ?>
    <div class="wrap">
        <div class="em-bookings-events">
            <h2><?php esc_html_e('Event Booking Report','dbem'); ?></h2>        
            <?php em_bookings_events_table(); ?>

        </div>
    </div>
    <?php
}
add_action( 'wp_ajax_example_ajax_request', 'render_admin_charts_page' );

ajax函数正在调用但不渲染到div

1 个答案:

答案 0 :(得分:2)

Wordpress中,Ajax所有wp-admin/admin-ajax.php请求都将由die();处理。所以你必须确保这个网址的相对路径是正确的。

然后在回调函数中,您必须添加function render_admin_charts_page() { ?> <div class="wrap"> <div class="em-bookings-events"> <h2><?php esc_html_e('Event Booking Report','dbem'); ?></h2> <?php em_bookings_events_table(); ?> </div> </div> <?php die(); } add_action( 'wp_ajax_example_ajax_request', 'render_admin_charts_page' );

add_action( 'wp_ajax_render_admin_charts_page', 'render_admin_charts_page' );

好的方法是将动作添加到钩子中,

{{1}}