AJAX and -1 response

时间:2012-06-11 作者:AndyW

我知道这已经出现了很多次,但它让我发疯。我花了几个小时试着调试它。

我的AJAX不适用于未登录的用户。

以下是我的行动:

add_action(\'wp_ajax_nopriv_ah_update\', array($tracker, \'update_tracking\'), "1");
add_action(\'wp_ajax_ah_update\', array($tracker, \'update_tracking\'), "1");
我把它们放在is\\U admin和out之间。我已经将服务器端代码从类中取出,并将其放入自己的函数中。但什么都不管用。

我应该声明,它对所有登录的用户都可以正常工作

我对$\\u GET[\'request\']进行了var\\u dump(),看起来一切都很好。

if ( !empty( $_REQUEST[\'action\'] ) )
    do_action( \'wp_ajax_nopriv_\' . $_REQUEST[\'action\'] );

die(\'-1\');
如果我更改了管理ajax。php代码,它可以很好地工作:

if ( !empty( $_REQUEST[\'action\'] ) ) {

    do_action( \'wp_ajax_nopriv_\' . $_REQUEST[\'action\'] );

} else {

    die(\'-1\');

}
我完全不知道是什么导致了这一切的发生。

也许脚本中还有其他东西阻止了无登录用户访问,但我看不到它。

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

您应该用die()或exit结束所有“异步”函数,否则WordPress会为您返回-1。

结束

相关推荐

如何通过ajax/jQuery加载wp_Editor()

我有一个定制的主题,非常复杂。我拥有多个内容区域,用户可以在其中为特定选项卡指定内容。我通过wp_editor() 作用它工作得很好。(这都是在管理端的“页面”帖子类型中)然而,我开始做一些改进,包括动态添加/删除选项卡的能力(之前,我在页面上加载了6个编辑器)。用户可能有1-7个选项卡。当用户添加选项卡时,需要向页面添加编辑器实例。然而,无论我尝试什么,我都无法让它正确加载和显示。以下是我迄今为止尝试过的两件事:创建一个包含管理引导程序的php文件,然后加载编辑器wp_editor(). 然后我执行j