0

我试图让一个 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);
        }
        });
}});

}); 我已经尝试了我能想到的一切,但没有结果。有人有什么想法吗?

4

1 回答 1

1

通过将 url 更改为完整地址 (http://.../) 来解决此问题

于 2012-08-18T08:05:38.660 回答