Using ajax with wordpress

时间:2014-08-12 作者:David

我试图了解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;

1 个回复
SO网友:Tomás Cot

在Wordpress中,Ajax的工作方式如下:

首先,注册ajax操作和要用于该操作的函数,当然,您必须编写该函数。

所有请求都指向相同的URL wp admin/admin ajax。php中,它所更改的是动作,根据动作的不同,会调用不同的函数。

调用的函数返回结果,作为ajax请求中的响应。

如果你对任何一步都有任何疑问,尽管问。

结束

相关推荐

如何在插件文件中调用AJAX

我对使用wordpress的ajax非常陌生。在这里,我得到了一个选定的选项值var test 当我提醒它显示正确的值时,使用bellow函数。这var test 我必须使用ajax发送的值,我希望在PHP变量中获得该值。所以我需要调用ajax并获取脚本变量值var test 在php插件文件中,我有bellow函数和select box。JQuery功能。jQuery(\"#time_slot\").change(function() { var test= time_slo