2013-05-19 4 views
0

Я хочу отправить запрос AJAX в WordPress, который отслеживает мои клики. До сих пор я добавил это в моей функции файла:Запрос Ajax в wordpress

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") 
      } 
     } 
     }) 

    }) 

}) 

Но в моей консоли, запрос отображается красным цветом, и нет никакого ответа. Пожалуйста помоги!

+0

Убедитесь, что 'myAjax.ajaxurl' использует тот же протокол и домен, что и страница с JavaScript/jQuery. – ParrotMac

+0

запрос отображается красным цветом, означает, что вы получаете код ответа 500. Вероятно, синтаксическая ошибка PHP. Установите WP_DEBUG в TRUE для отладки кода. –

ответ

0

В WordPress, используйте следующий URL-адрес для обработки AJAX запросов:

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

Это также важно, чтобы локализовать сценарий после он был помещён.

Смежные вопросы