早上好!我只是第一次尝试在WordPress插件中使用AJAX,而且我有点难住。WordPress - 用ajax获取数据库结果
基本上,我有2个div彼此相邻。左边有一个手机号码列表,右边应该包含与用户点击的手机号码的对话。 (它看起来很像iPad上的通讯应用程序)。 我不想重新加载页面切换到不同的对话,所以我认为这是一个很好的计划。如我错了请纠正我!
所以我有了这个HTML:(简写为简单起见)
<div class="container">
<div class="list_cell_numbers">
<a href="" class="ajax-link" id="1238675309">123-867-5309</a>
<a href="" class="ajax-link" id="9035768321">903-576-8321</a>
</div>
<div class="show_conversation">
<!--Display Database Results Here -->
</div>
</div>
这里是我的jQuery:
jQuery(document).ready(function($) {
$(".ajax-link").click(function() {
var data = {
action: 'sms_load_conversation',
cell_number: $(this).attr('id')
};
$.post('http://example.com/wp-admin/admin-ajax.php', data,
function(response) {
alert(response)
});
});
});
这里是我的WordPress的功能,处理AJAX调用:
add_action('wp_ajax_sms_load_conversation', 'sms_load_conversation');
function sms_load_conversation() {
global $wpdb;
if(isset($_POST["cell_number"])) {
$number = $_POST["cell_number"];
$msgs = $wpdb->get_row("SELECT message, sent_date FROM sms_log WHERE cell_number = $number LIMIT 1");
echo $msgs->message;
wp_die();
}
}
所以通过这段代码,我已经到了可以点击链接的位置,并且正确的结果是转向 - 来自数据库的消息。我被卡住的地方是: 1-如何在页面返回时实际将此内容放入我的“show_conversation”div中,以及如何让AJAX响应具有多个字段的多个数据库结果?我觉得我需要让sms_load_conversation函数获取数据库结果,将结果格式化为HTML并将整个HTML返回到我的“show_conversation”div,但我不完全确定要如何返回那么多信息。这只是一个巨大的字符串?
如果有人能提供一些方向,请提前多谢!
你需要引用您的文章数据'WHERE cell_number = ' “$号。”'' – Noman
查询工作好的,我得到了预期的结果。我不确定的是我怎样才能让整个'$ msgs'数组返回到我的原始页面进行解析。或者 - 如果我在'sms_load_conversation'函数中解析整个数组,那么如何将整个HTML代码返回到我的原始页面。 – drumichael611