早上好!我只是第一次嘗試在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