通过WordPress,我构建了一个成功的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;
});
});
在这种情况下如何使用序列化?感谢您帮助一个菜鸟(第一次来到ajax)
答案 0 :(得分:2)
正如您在http://api.jquery.com/jQuery.post/上看到的那样,数据不必序列化。 jQuery将正确格式化。
您确定所有表格数据都在那里吗?你应该检查一个工作的非ajax请求,看看发送了什么帖子数据,找出用ajax发送的内容(然后检查那个请求)。
Chrome Dev工具和Firebug非常适合“请求检查”。显然IE开发工具也是如此,但我不知道†