2015-10-15 134 views
1

早上好!我只是第一次嘗試在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,但我不完全確定要如何返回那麼多信息。這只是一個巨大的字符串?

如果有人能提供一些方向,請提前多謝!

+1

你需要引用您的文章數據'WHERE cell_number = ' 「$號。」'' – Noman

+0

查詢工作好的,我得到了預期的結果。我不確定的是我怎樣才能讓整個'$ msgs'數組返回到我的原始頁面進行解析。或者 - 如果我在'sms_load_conversation'函數中解析整個數組,那麼如何將整個HTML代碼返回到我的原始頁面。 – drumichael611

回答

0

在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) { 
     $('.show_conversation').html(response); 
     } 
    ); 
    }); 
}); 
+0

謝謝!我明顯有一些關於JavaScript的學習! – drumichael611