Javascript Wordpress admin-ajax.php正在消亡”;0“;无处理功能
我正在尝试学习如何以正确的方式处理Wordpress中的AJAX请求。为此,我正在修改创建一个超级简单的AJAX请求,将帖子的ID(来自链接)放入我的页面内容中 逻辑Javascript Wordpress admin-ajax.php正在消亡”;0“;无处理功能,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我正在尝试学习如何以正确的方式处理Wordpress中的AJAX请求。为此,我正在修改创建一个超级简单的AJAX请求,将帖子的ID(来自链接)放入我的页面内容中 逻辑 当点击#我们的工作a链接时[js] 获取post ID(从数据ID属性中),并将其存储为POSID变量[js] 通过AJAX传递postID(使用WP的admin AJAX.php文件)[js] example\u ajax\u request函数将获取ID并简单地回显它[php] 如果成功,将服务器响应附加到#herodiv 我
#我们的工作a
链接时[js]数据ID
属性中),并将其存储为POSID
变量[js]postID
(使用WP的admin AJAX.php
文件)[js]example\u ajax\u request
函数将获取ID并简单地回显它[php]#hero
divwp_enqueue_脚本('myajax请求',plugin_dir_url('uuu文件'),'acl plugin.js',数组('jquery');
wp_本地化_脚本('MyAjax请求','MyAjax',数组('ajaxurl'=>admin_url('admin ajax.php'));
函数示例\u ajax\u请求(){
如果(isset($\请求)){
$postID=$_请求['postID'];
echo$posted;
}
模具();
}
添加动作('wp_ajax_nopriv_example_ajax_request','example_ajax_request');
这是JS文件的副本
jQuery(文档).ready(函数($){
$(“#我们的工作a”)。单击(函数(){
var postID=$(this.attr(“数据id”);
$.ajax({
url:MyAjax.ajaxurl,
数据:{
'action':'example_ajax_request',
“posted”:posted
},
成功:功能(数据){
$(“#hero”).append(“这似乎有效”+数据);
},
错误:函数(错误抛出){
log(“这引发了一个错误:“+ErrorSwink”);
}
});
返回false;
});
});
问题
点击链接后,JS会触发,但会产生以下响应:
<div id="hero">
Well this seems to work 0
</div>
好吧,这似乎有效
通过使用警报,我知道在AJAX请求之前正在提取ID。所以问题出在我的功能上。为了了解更多信息,我(暂时)调整了WP的admin ajax.php
文件,以便找出哪个die()代码>产生的响应为“0”
这是文件中我认为不会触发的最后一个,因为我有一个die()代码>我自己的函数中的命令。有人能指出我错在哪里吗?这是我能自豪地说的少有的几次。。。这里没有任何问题
服务器返回0
的原因是我已登录!wp\u ajax\u nopriv\u示例\u ajax\u请求
仅适用于未登录的用户。注销后,这一切正常
因此,如果您希望执行相同的操作,只需确保在函数下面有两个操作:
add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
add_action( 'wp_ajax_nopriv_example_ajax_request', 'example_ajax_request' );
非常感谢你!wp_ajax_nopriv就是我丢失的那个。救了我。谢谢兄弟!!!