0

我想在 WordPress 中发送一个 AJAX 请求来跟踪我的点击。到目前为止,我已经在我的函数文件中添加了这个:

add_action('init', 'my_script_enqueuer');

  function my_script_enqueuer() {
    wp_register_script("history_script", get_template_directory_uri() . '/js/history_script.js', array('jquery'));
    wp_localize_script('history_script', 'myAjax', array('ajaxurl' => get_template_directory_uri().'/functions.php'));
    wp_enqueue_script('jquery');
    wp_enqueue_script('history_script');
  }

  add_action("wp_ajax_history_trace", "history_trace");

  function history_trace() {
      echo 'fasfasgasgas'; die;
}

这在我的 js 文件中:

jQuery(document).ready( function() {

   jQuery("#searchsubmit").click( function() { 
      jQuery.ajax({
         type : "post",
         dataType : "json",
         url : myAjax.ajaxurl,
         data : {action: "history_trace"},
         success: function(response) {
            if(response.type == "success") {
               alert('success')
            }
            else {
               alert("false")
            }
         }
      })   

   })

})

但是在我的控制台中,请求显示为红色,并且没有响应。请帮忙!

4

1 回答 1

0

在 WordPress 中,使用以下 url 来处理 AJAX 请求:

array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )

在入队后本地化脚本也很重要。

于 2013-05-20T21:23:42.997 回答