我创建了一个测试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/
看到答案 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个小时我永远不会回来)