使用AJAX加载div中的内容

时间:2016-12-21 作者:Yoona

请给我建议我对ajax很陌生,我有一个帖子列表,如果我点击它,就会在一个div中显示帖子信息,而不会加载页面。我知道我必须使用ajax,所以我创建了一个文件:loadcontent。php,并使用下面的代码,但我不知道如何通过ajax发送和获取数据。我需要传递一个id才能获得帖子信息。

<script>
   $(document).ready(function(){

    $.ajaxSetup({cache:false});
        $(".post-link").click(function(){
        var post_id = $(this).attr("rel"); //this is the post id
        $("#post-container").html("content loading");
        $("#post-container").load("/loadcontent.php");
       return false;
    });

  });
</script> 

1 个回复
最合适的回答,由SO网友:Kaeles 整理而成

使用WordPress提供的Ajax API。

在第一次修复Ajax请求时:

<script>
$(".post-link").click(function(){
    var post_id = $(this).attr("rel"); //this is the post id
    $("#post-container").html("content loading");
    $.ajax({
        url: myapiurl.ajax_url,
        type: \'post|get|put\',
        data: {
            action: \'my_php_function_name\',
            post_id: post_id
        },
        success: function(data) {
            // What I have to do...
        },
        fail: {
            // What I have to do...
        }
    });
    return false;
});
</script> 
现在,您必须创建您的WordPress处理。您可以将此代码放入函数中。php或插件文件。

add_action( \'admin_enqueue_scripts\', \'my_ajax_scripts\' );
function my_ajax_scripts() {
    wp_localize_script( \'ajaxRequestId\', \'myapiurl\', array( \'ajax_url\' => admin_url( \'admin-ajax.php\' ) ) );
}
然后。。。检索帖子的函数

function my_php_function_name() {
    // What I have to do...
}
注意:不要将代码放在根安装文件夹中。使用函数。php的主题,或创建插件。这对于可维护性和安全性非常重要。玩得开心:)