如何通过单击链接标记通过AJAX检索内容(具有特定ID)

时间:2017-10-30 作者:Jamille

我想通过ajax post方法检索具有特定ID的内容。

例如,如果单击具有特定帖子ID的链接标记,则该ID的内容将加载到post-data 部门。

我对wp-ajax非常陌生,有人能帮我做到这一点吗?

这是我的代码HTML a tag

<a id="<?php the_ID(); ?>" href="#">This is link</a> 
<!-- the content -->
<div id="post-data"></div>
Jquery Ajax

    $("a").click(function (event) {
    var post_ID = $(this).attr(\'id\');
    $.ajax({
        url: "/wp-admin/admin-ajax.php",
        type: "POST",
        action: "my_custom_data",
        data: {post_link: post_ID},
        success: function (response) {
            console.log(response);
            $(\'#post-data\').append(response);
        }
    });
    event.stopImmediatePropagation();
    event.preventDefault();
    return false;
    });

WP Action

   add_action(\'wp_ajax_my_custom_data\', \'my_custom_data\');
   add_action(\'wp_ajax_nopriv_my_custom_data\', \'my_custom_data\');

   function my_custom_data(){
   $post_link = data[\'post_link\'];
   echo get_the_content($post_link);
   die();
   }
我认为我的代码有问题,我只得到了0的响应。

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

我会把动作放在post数据中

$.ajax({
  url: "/wp-admin/admin-ajax.php",
  type:"POST",
       data: { 
       action: "my_custom_data",
       post_link: post_ID
},
success: function (response) {
        console.log(response);
        $(\'#post-data\').append(response);
    }
});
   return false;
.....
然后在PHP中使用$\\u POST[\'POST\\u link\']

   function my_custom_data(){
       $post_link = $_POST[\'post_link\'];
   echo get_the_content($post_link);
   die();
   }

结束