2012-06-08 3 views
0

Через WordPress я создал форму с успешным ответом AJAX. Поля empty в базе данных! Я предполагаю, что это потому, что я не сериализую свои значения:Значения формы для AJAX

// JavaScript Document 
jQuery(document).ready(function($){ 
    jQuery('#newFeedbackForm').submit(function(){ 
     var topic = $('#topic').val(); 
     var name = $('#name').val(); 
     var email = $('#email').val(); 
     var no_results_feedback = $('#no_results_feedback').val(); 

     var post_data = { 
      action: 'addFeedback', 
      topic: topic, 
      name: name, 
      email: email, 
      no_results_feedback: no_results_feedback 
     }; 

     $.post(av_feedback_vars.ajaxurl, post_data, function(response){ 
         if(response == 'success'){ 
          $('#feedback').text('Thank you for your comment.'); 
         }else{ 
          alert(av_feedback_vars.error_message); 
         } 
     }); 
     return false; 
    }); 
}); 

Как бы использовать сериализацию в этом случае? Спасибо за помощь noob (первый раз при ajax здесь)

+0

'alert (post_data)' видеть, если его пустой – Norse

+0

Это будет напечатать '[object Object]' ... Не полезно. – Rudie

ответ

2

Как вы можете видеть на http://api.jquery.com/jQuery.post/ данные не обязательно должны быть сериализованы. jQuery будет отформатировать его правильно.

Вы уверены, что все данные формы есть? Вы должны проверить рабочий, неааксиальный запрос и посмотреть, какие почтовые данные отправляются, чтобы узнать, что отправить с помощью ajax (и затем проверить этот запрос тоже).

Инструменты Chrome Dev и Firebug идеально подходят для «проверки запроса». Видимо, это также инструменты IE Dev, но я бы не знал ...

+0

(Как Firebug и даже IE Developer Tools ... так что нет никаких оправданий.) –

+0

True dat! Осмотрите это дерьмо! – Rudie

+0

Спасибо, что облегчил мои заботы. Это произошло потому, что я неправильно форматировал переменные вставки как $ _POST ['variable_name'] – AlxVallejo

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