我试图让一个 ajax 函数与 wordpress 一起工作,并且总是得到默认结果。我有functions.php(除了其他功能)
add_action('wp_ajax_count_results_cal', 'count_results');
add_action('wp_ajax_nopriv_count_results_cal', 'count_results');
function count_results(){
echo 'test';
die();
}
function my_theme_scripts() {
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'theme-plugins',get_template_directory_uri() . '/js/plugins.js' , array( 'jquery','jquery-ui-draggable','jquery-ui-dialog' ) );
wp_enqueue_script( 'google-map','http://maps.google.com/maps/api/js?sensor=true', array( 'jquery','jquery-ui-draggable','jquery-ui-dialog' ) );
wp_enqueue_script( 'theme-script', get_template_directory_uri() . '/js/script.js', array( 'jquery','jquery-ui-draggable','jquery-ui-dialog' ) );
wp_enqueue_script( 'ajax', get_template_directory_uri() . '/js/ajax.js', array( 'jquery') );
}
add_action('init', 'my_theme_scripts');
在我的 ajax.js 文件中
jQuery(document).ready(function ($) {
$('#manufacturer,#make_date,#fuel_type,#transmission,#price_from,#price_to').on({
change: function(){
$.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
data: {
action: 'count_results_cal',
manufacturer : $("#manufacturer").val(),
year : $("#make_date").val(),
fuel : $("#fuel_type").val(),
transmission : $("#transmission").val(),
price_from: $("#price_from").val(),
price_to : $("#price_to").val(),
body_type : $("#body_type").val(),
vat : $("#vat").val()
},
success: function(data, textStatus, XMLHttpRequest){
$('#offers_found span').html(data);
},
error: function(MLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
}});
}); 我已经尝试了我能想到的一切,但没有结果。有人有什么想法吗?