AJAX+WordPress OnClick链接重定向到新页面并创建html内容

时间:2014-07-03 作者:Nisham Mahsin

我的wordpress插件中有两个页面

索引。php图表。索引中的php。php我有一些内容和一些链接。。

 <a onclick="show_trend()" >Trend</a>
单击此链接时,我有一个ajax功能,可以在图表中创建内容。php(我不知道这是否正确)

function show_trend() {
 var data ="action=render_admin_charts_page";
   jQuery.ajax({
                    type: "POST",
                    url: "../wp-admin/admin-ajax.php",
                    data: data,
                    dataType: \'json\',
                    success: function(data) {

                      alert(data);
                     //here i want to create html content

                    }
                });

}
下面是我的php函数和钩子

function render_admin_charts_page() {
    ?>
    <div class="wrap">
        <div class="chart">

        </div>
    </div>
    <?php
     die();
}
add_action( \'wp_ajax_render_admin_charts_page\', \'render_admin_charts_page\' );
现在我得到0作为警报。

2 个回复
SO网友:dg4220

我看到两件事。你错过了一个行动电话-你需要

add_action( \'wp_ajax_render_admin_charts_page\', \'render_admin_charts_page\' );
add_action(\'wp_ajax_nopriv_render_admin_charts_page\', \'render_admin_charts_page\');
另外,从render_admin_charts_page() 您需要将json数据类型更改为html。你的图表功能是输出html,所以你所需要做的就是输出它;你的alert() 应该包含函数中的所有html。

还有一件事,如果这仍然是一个活的问题,为什么die() 在您的render_admin_charts_page() 作用该函数打印一条消息,这样也可能会干扰您的返回值。

SO网友:Hendrik Luehrsen

正如ungestaltbar所说,变量“data”应该包含一个对象,而不是字符串。

function show_trend() {
   var data = {
       action: "render_admin_charts_page"
   }
   jQuery.ajax({
                    type: "POST",
                    url: "../wp-admin/admin-ajax.php",
                    data: data,
                    dataType: \'json\',
                    success: function(data) {

                      alert(data);
                     //here i want to create html content

                    }
                });

}
这应该可以做到。

结束

相关推荐

插件不能处理AJAX请求

我有一个AJAX请求,它从我在自己的插件中编写的函数中检索信息,下面是我如何设置AJAX函数的:function my_ajax_function () { do_action(\'my_plugin_function\'); } add_action(\'wp_ajax_do_ajax\', \'my_ajax_function\'); 此链接的完整文件代码将暂时可用,直到我们得到答复,我对请求失败的行进行了评论,希望有帮助:http://www.pok