我正在尝试学习如何通过wordpress ajax从自定义数据库表中获取内容,但不知道如何执行此操作。
我想从下表中获取id数量
Database name: wp_ajax_demo
Column Type Comment
id int(11) Auto Increment
name varchar(255)
这是我到目前为止的代码,但不确定我是否在正确的轨道上
function post_word_count(){
global $wpdb;
$wpdb->get_var($wpdb->prepare("my query here")); //not sure what to add here
die();
return true;
}
add_action('wp_ajax_post_word_count', 'post_word_count');
add_action('wp_ajax_nopriv_post_word_count', 'post_word_count');
我的Ajax
jQuery.ajax({
type: 'POST', // Adding Post method
url: MyAjax.ajaxurl, // Including ajax file
//action: "ajaxConversion",
data: {"action": "post_word_count", "dname":name}, //Not sure what to add here
success: function (data) {
alert(data);
},
error: function () {
//
},
complete: function () {
//
}
});
});
我的更新代码,但只返回jason格式化结果,而不是添加到我的html echo行,整个wordpress页面不显示不确定原因。
function post_word_count2(){
global $wpdb;
$count = $wpdb->get_var( "Select count(*) from {$wpdb->base_prefix}ajax_demo" );
wp_send_json_success( array(
'count' => $count
));
die();
return true;
}
add_action('wp_ajax_post_word_count', 'post_word_count2');
add_action('wp_ajax_nopriv_post_word_count', 'post_word_count2');
post_word_count2();
echo '<button type="button" class="btn btn-primary">Primary <span class="badge">'.$count.'</span></button>';
我的Ajax
jQuery(document).ready(function(){
jQuery.ajax(
{
type : 'POST',
//dataType : 'json',
url : MyAjax.ajaxurl,
data : {"action": 'post_word_count2'},
success: function( data )
{
// if( response.success )
// {
alert( response.data.count );
// }
}
});
});
答案 0 :(得分:0)
在post_word_count
函数中:
$count = $wpdb->get_var( "Select count(*) from {$wpdb->base_prefix}ajax_demo" );
wp_send_json_success( array(
'count' => $count,
) );
在jquery文件中:
$.ajax(
{
type : 'post',
dataType : 'json',
url : MyAjax.ajaxurl,,
data : {
action : 'post_word_count',
},
success: function( response )
{
if( response.success )
{
alert( response.data.count );
}
}
} );