Javascript 在Ajax和Wordpress表单中返回未定义的FormData

Javascript 在Ajax和Wordpress表单中返回未定义的FormData,javascript,jquery,ajax,wordpress,form-data,Javascript,Jquery,Ajax,Wordpress,Form Data,我使用jQuery/Ajax为Wordpress主题(自定义)创建了一个联系人表单。当我用“it works”测试wp_send_json_success时,它返回为可疑。但是,当我在表单上添加$formdata和字段名时,from在JS警报框中返回undefined。我很确定我输入的是正确的,因为我遵循了本教程:。但我似乎无法让它发挥作用 这里是functions.php的代码 add_action('wp_ajax_contact', 'contact_form'); add_action

我使用jQuery/Ajax为Wordpress主题(自定义)创建了一个联系人表单。当我用“it works”测试wp_send_json_success时,它返回为可疑。但是,当我在表单上添加$formdata和字段名时,from在JS警报框中返回undefined。我很确定我输入的是正确的,因为我遵循了本教程:。但我似乎无法让它发挥作用

这里是functions.php的代码

add_action('wp_ajax_contact', 'contact_form');

add_action('wp_ajax_nopriv_contact', 'contact_form');

function contact_form()

{
 $formdata = [];

 wp_parse_str( $_POST['contact'], $formdata );

  wp_send_json_success( $formdata ['myName'] );
}
表格代码如下:

<form  id="contact">
           Name: <input type="text" name="myName" class="contactform 
           fields" placeholder="name"required><br><br>

           Email: <input type="text" name="myEmail" class="contactform 
           fields" placeholder="you@youremail.com" required><br><br>

             <p>What is your inquiry regarding?</p><be>
               <input type="radio" name="reason" value="general">
               <label for="news">General Inquiry</label><be>
                 <input type="radio" name="reason" value="course">
                 <label for="news">Courses</label><br>

      <p class="contact_txt">Your Message:</p>
         <textarea name="msg" rows="5" cols="700" placeholder="begin 
         typing message here..." required>
         </textarea>

     <p class="contact_txt">Would you like to subscribe to our 
      newsletter?</p>
     <br>
      <input type="checkbox" name="news" value="Subscribe">
      <label for="news">Yes, I would like to subscribe</label>
       <br>

          <input class="btns" name="btn-send" id="mySubmit" type="submit" value="submit">
          <input class="btns" name="btn-reset" id="myReset" type="reset" value="reset">
  </form>

名称:

电子邮件:

你的询问是关于什么的

一般调查 课程

您的信息:

您想订阅我们的 时事通讯


是的,我想订阅
此处的脚本:

<script>

  jQuery('#contact').submit( function(event){

    event.preventDefault();

    var endpoint = '<?php echo admin_url('admin-ajax.php' ); ?>';
    var form = jQuery('#contact').serialize();
    var formdata = new FormData;

    formdata.append('action', 'contact');
    formdata.append('contact', 'form');

    jQuery.ajax(endpoint, {
      type: 'POST',
      data: formdata,
      processData: false,
      contentType: false,

      success: function(res){
        alert(res.data);
      },

      error:function(err){

      }
    })
  })

  </script>

jQuery(“#联系人”).submit(函数(事件){
event.preventDefault();
var端点=“”;
var form=jQuery('#contact').serialize();
var formdata=新formdata;
formdata.append('action','contact');
formdata.append('contact','form');
ajax(端点{
键入:“POST”,
数据:formdata,
processData:false,
contentType:false,
成功:功能(res){
警报(res.data);
},
错误:函数(err){
}
})
})

检查wp\u parse\u strand之后$formdata的值是多少成功中的'res'值是多少callback@HWSiew我不明白我在这方面真的是个新手……但看起来有几个人在学习本教程后也没有让它工作……在您的jquery ajax成功回调中,console.log(res)。检查wp_parse_strand之后$formdata的值是多少成功中的'res'值是多少callback@HWSiew我不明白我在这方面真的是个新手……但似乎有几个遵循本教程的人也没有让它工作……在您的jquery ajax成功回调中,console.log(res)。