除了chrome之外,Wordpress get_ajax.php在ALL中返回0

时间:2016-07-07 09:00:49

标签: ajax wordpress

我创建了一个测试Wordpress函数,它返回文本" test"当通过url中的get_ajax.php调用函数时,即。

http://[somesitename.com]/wp-admin/admin-ajax.php?action=get_test

测试功能很简单:

add_action( 'wp_ajax_get_test', 'gmsl_test' );
function gmsl_test(){
    echo "TEST";
    exit();
}

这将返回" TEST"在Chrome中,ie11,edge和firefox中为0。有人知道为什么会这样吗?屏幕截图可以在https://postimg.org/image/wckvqg635/

看到

1 个答案:

答案 0 :(得分:0)

我找到了答案 - 我从错误的角度看待它。 这不是浏览器问题。 Chrome是其中唯一拥有登录用户的人!所以问题是如果用户没有登录,ajax查询返回0 !!

解决方案 - 如果您希望wordpress ajax适用于未登录的用户,则需要包含第二个操作(nopriv):

add_action( 'wp_ajax_get_test', 'gmsl_test' );
add_action( 'wp_ajax_nopriv_get_test', 'gmsl_test' );

(有4个小时我永远不会回来)