2015-10-15 133 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