我希望你能提供帮助。 functions.php中的以下代码返回0。
function removeItems(){
echo "hello";
die();
}
add_action('wp_ajax_removeItem', 'removeItems');
add_action('wp_ajax_nopriv_removeItem', 'removeItems');
function remove_item(){
echo '<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("body").delegate(".remove_one","click",function(){
var cart_key = jQuery(this).data("cart_key");
jQuery.ajax({
type:"POST",
url: "/wp-admin/admin-ajax.php",
data: {action: "removeItem"},
success:function(data){
alert(data);
}
});
});
});
</script>';
}
add_action('wp_head', 'remove_item');
我能找到的常见错误不包括:
add_action('wp_ajax_nopriv_removeItem', 'removeItems');
...但我已经补充说。
action=removeItem
正在控制台中添加。
非常感谢任何帮助。 标记
答案 0 :(得分:1)
如果未指定操作,admin-ajax.php将退出,并在此过程中返回0。这意味着你的前端有一个Wordpress无法识别的动作。 Wordpress无法找到您的wp_ajax_xxx操作。您可能已经指定了此操作,但请记住加载此文件,以便调用它。
摘要:
add_action('wp_ajax_removeItems', 'removeItems');
function removeItems() {
...;
echo json_encode($array);
}
(function($){
var ret = true,
ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
data = {
'action': 'removeItems',
};
$.post(ajaxurl, data, function(response) {
console.log(response);
});
})(jQuery);