我在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
答案 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}}