2013-12-07 4 views
1

Я изучаю Ajax в WordPress и ссылаюсь на некоторый учебник. Теперь я создал этот скрипт Ajax с простой формой, имеющей поле имени. Я вызываю этот скрипт в файле header.php. После внедрения я получаю 0. Почему и как это исправить. Может ли кто-нибудь помочь мне, почему это происходит.ajax не работает в header.php

Мой код:

<script type="text/javascript"> 
jQuery('#newCustomerForm').submit(ajaxSubmit); 

function ajaxSubmit(){ 

    var newCustomerForm = jQuery(this).serialize(); 

     $.ajax({ 
      type:"POST", 
      url: "http://localhost/woocommerce/wp-admin/admin-ajax.php", 
      data: newCustomerForm, 
      success:function(data){ 
       $("#feedback").html(data); 
      }, 
      error: function(errorThrown){ 
       alert(errorThrown); 
      } 
     }); 

     return false; 
} 

Я буду признателен, если кто-то наставит меня :)

Спасибо.

ответ

0

Заменить все jQuery «S с $

Update: Вы до сих пор не изменил все Jquery до $! Изменение:

jQuery('#newCustomerForm').submit(ajaxSubmit); 

function ajaxSubmit(){ 

    var newCustomerForm = jQuery(this).serialize(); 

к:

$('#newCustomerForm').submit(ajaxSubmit); 

function ajaxSubmit(){ 

    var newCustomerForm = $(this).serialize(); 
+0

Я пытался, но не работаю :(после замены страницы перенаправление на страницу 404 – lumos

+0

Дайте мне ваш код после замены, пожалуйста – matrixdevuk

+0

Я обновил мой вопрос :) – lumos

1

добавить это к вашему AJAX вызова

action : 'search_action', 
url: "http://localhost/woocommerce/wp-admin/admin-ajax.php", 
data: newCustomerForm, 

и чем у нужна функция ведьма будет вызываться WordPress, если через AJAX-запросы получает in:

function ajax_handler() { 

    $response = array('status' => 'error'); 

    // do your thing here 
    // $_POST is available 
    // and and something like $response['text'] = 'all done'; or so 
    $response['status']  = 'success'; 


    header('Content: application/json'); 
    echo json_encode($response); 
    die; 

} 

add_action('wp_ajax_search_action', 'ajax_handler'); 
add_action('wp_ajax_nopriv_search_action', 'ajax_handler'); 

как вы видите, одно действие вызывается для входа в систему, а одно для неавторизованных пользователей (wp_ajax_nopriv_search_action). В этом случае эти 2 действия вызывают одну и ту же функцию.

Подробнее здесь:.. http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/

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