我试图了解Wordpress中的ajax请求,但发现很难理解。基本上,我有一个包含许多步骤的表单,您可以使用ajax处理这些请求,每次发布数据,隐藏并显示通常包含表单字段的不同步骤的div。当前有一个表单是在带有短代码的插件中执行的。这将通过以下方式发出ajax请求:
function callAjaxsubmit() {
$("#form").serialize();
$.ajax({
type: "POST",
url: "/confirm.php",
data: $("#confirm").serialize(),
success: function(data) {
$( ".page-error-message" ).remove();
$("#step3").html(data);
$("#step2").empty(data);
$(\'html, body\').animate({ scrollTop: 0 }, \'slow\');
}
});
return false;
}
我正试图在前端完成这项工作,我已经看到了这一点:
http://codex.wordpress.org/AJAX_in_Plugins 还有许多教程,但不知道如何将其应用于此。我想我需要调用函数而不是url?
Update: 好吧,现在它触发了功能,尽管post数据有问题。我有很多字段,在我使用wordpress的正确方式处理ajax之前,我使用serialize()获取所有表单数据,但这似乎工作不正常,它似乎将其输出为一个长字符串。是否有特殊的方法来序列化()post数据?
Update2: 已按以下内容排序序列化问题:
var formData = \'action=wordpress_function&\' + jQuery("#form").serialize();
jQuery.ajax({
type: "POST",
url: MyAjax.ajaxurl,
data: formData,
success: function(data) {
//do stuff
}
});
return false;