WordPress Ajax请求返回0

我无法弄清楚为什么没有返回我在Ajax中是一个真正的初学者..我刚刚阅读了很多关于在Woprdpress中使用Ajax的主题但是这些例子对我来说非常先进这里是我的JS代码combo_checkout_iRange.js

 jQuery(document).ready(function() { jQuery('#loader').hide(); jQuery('#check-out-date').hide(); jQuery('#check-in-date').change(function(){ jQuery('#check-out-date').fadeOut(); jQuery('#loader').show(); jQuery.ajax({ type: 'POST', url:myAjax.ajaxurl, data: { action : 'my_ajax_handler', parent_id: jQuery("#check-in-date").val() }, success: function(data){ alert(data); jQuery('#loader').hide(); jQuery('#check-out-date').show(); jQuery('#check-out-date').append(data); }}); return false; }); jQuery('#check-out-date').change(function(){ alert(jQuery('#check-out-date').val()); }); }); 

这是我在function.php写的

注意:这应该适用于名为“会议”的post类型

 add_action("wp_enqueue_scripts", function() { if (is_single()) { if (get_post_type() == 'meetings') { wp_enqueue_script('combo_checkout_iRange', get_template_directory_uri() . '/js/combo_checkout_iRange.js', array( 'jquery' ), '1.0' ,true); $data_array = array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ); wp_register_script( 'combo_checkout_iRange', get_template_directory_uri() . '/js/combo_checkout_iRange.js', array('jquery') ); wp_localize_script( 'combo_checkout_iRange', 'myAjax', $data_array ); } } }); 

这是我的ajax处理程序,我把它放在single_meetings.php

 add_action("wp_ajax_my_ajax_handler", "my_ajax_handler"); add_action("wp_ajax_nopriv_my_ajax_handler", "my_ajax_handler"); function my_ajax_handler() { if ( isset($_REQUEST["parent_id"]) ) { $id = $_REQUEST["parent_id"]; return $id; die(); } } 

您不能在AJAX回调中使用return 。 代码永远不会die在下面的行上。 您需要回显该值,然后使用wp_die()

更换:

 return $id; die(); 

附:

 echo $id; wp_die();