Php WordPress-Ajax请求不断返回0
我似乎不明白为什么ajax调用没有返回任何内容(返回0)。我想做的是,当用户在表单上填写他们的LAN ID时,他们主管的信息会自动填充几个字段。非常感谢您的帮助/建议。这是我的密码: 添加动作(“wp\u ajax\u nopriv\u get\u ldapattr”、“get\u ldap\u attr”) jQuery(函数(){ })) 函数get\u ldap\u attr($lanid){Php WordPress-Ajax请求不断返回0,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我似乎不明白为什么ajax调用没有返回任何内容(返回0)。我想做的是,当用户在表单上填写他们的LAN ID时,他们主管的信息会自动填充几个字段。非常感谢您的帮助/建议。这是我的密码: 添加动作(“wp\u ajax\u nopriv\u get\u ldapattr”、“get\u ldap\u attr”) jQuery(函数(){ })) 函数get\u ldap\u attr($lanid){ 这是因为它返回检查用户是否以管理员身份登录的条件的结果。 0是错误的 更新: 尝试在函数结束时不
这是因为它返回检查用户是否以管理员身份登录的条件的结果。 0是错误的 更新:
尝试在函数结束时不返回,而是放置回显或打印结果。我认为您结束了函数过程,但wp的其他进程一直在停止。如果您的
$sup
变量有效,并且在您的站点选项检索和解析后填充,您需要实际地echo
输出JSON
-不返回它
代码中的示例:
return json_encode($sup); die();
……应改为:
echo json_encode($sup);
die();
如果你写信
add_action('wp_ajax_nopriv_**get_ldapattr**', '**get_ldap_attr**');
因此,您必须调用get\u ldapattr
,而不是get\u ldap\u att
换句话说,如果您指定
add_action('wp_ajax_nopriv_**ACTION_HANDLER**', '**CALLBACK_FUNCTION**');
您必须在ajax js脚本中调用ACTION\u处理程序
(除非ACTION\u处理程序
与CALLBACK\u函数
一致)您缺少“header”部分。
您的PHP脚本应该以如下方式结束:
header( 'Content-Type: application/json' ); // <<------
echo json_encode($sup);
die();
header('Content Type:application/json');//如果以die(json\u encode(array('test'=>'value'))结尾
您的控制台是否显示该数组?验证您的$sup
变量是否没有问题。即使您启动get\u ldap\u attr()
这样做?我正在接收对象的数据,但当我通过ajax提供数据时,它仍然返回0…您是否在以管理员身份登录时进行测试?添加添加操作('wp\u ajax\u get\u ldapattr','get\u ldap\u attr'));…没有条件检查用户是否是代码中的管理员。这是真的,但我向wordpress core指出,这是有条件的:)感谢您的快速响应。我也尝试过,但仍然不走运。还有其他建议吗?
add_action('wp_ajax_nopriv_**ACTION_HANDLER**', '**CALLBACK_FUNCTION**');
header( 'Content-Type: application/json' ); // <<------
echo json_encode($sup);
die();