Php Wordpress联系方式-ajax,wp_邮件

Php Wordpress联系方式-ajax,wp_邮件,php,ajax,wordpress,email,Php,Ajax,Wordpress,Email,我正在尝试使用jquery创建一个简单的联系人表单来验证表单,并使用ajax将表单传递给php和WP WP_mail来发送表单 我有这样一个简单的表格 <form role="form"> <div class="form-group"> <label class="">Name</label> <input type="text" id="name" class="fo

我正在尝试使用jquery创建一个简单的联系人表单来验证表单,并使用ajax将表单传递给php和WP WP_mail来发送表单

我有这样一个简单的表格

    <form role="form">
        <div class="form-group">
            <label class="">Name</label>
            <input type="text" id="name" class="form-control" name" />
        </div>

        <div class="form-group">
            <label class="">Email</label>
            <input type="text" id="email" class="form-control" name="email" />
        </div>

        <?php wp_nonce_field( 'atex_php', 'atex_nonce' ); ?>

        <button class="submit">Submit</button>

    </form>
当点击提交时,我在chrome dev tools的网络选项卡中找不到[object%20Object]的404


我如何才能使其工作

您需要将一些脚本排队:

假设您的验证脚本位于名为validationForm.js的文件中

function ajaxScript(){
   $params = array(
     'ajaxurl' => admin_url('admin-ajax.php')
   );

  wp_enqueue_script( 'validation', get_template_directory_uri() . '/js/validationForm.js',     array(), '', true );
  wp_localize_script( 'validation', 'ajax_object', $params );
}

add_action( 'wp_enqueue_scripts', 'ajaxScript' );
您还需要添加此操作挂钩:

add_action('wp_ajax_amc_form_fr', 'my_action_callback');
然后,使用ajax jquery函数发送信息:

var dataString = $(form).serialize();

jQuery.ajax({  
    type: "POST",  
    url: ajax_object.ajaxurl, 
    dataType : 'JSON', 
       data : 'action=jQuery.ajax({  
       type: "POST",  
       url: ajax_object.ajaxurl, 
       dataType : 'JSON', 
       data : 'action=amc_form_fr&'+dataString,&'+dataString,

  success: function(response) { 
    console.log(response);
   // your code 
   }

如果我没有错的话,我想是的

有什么理由不使用这样的插件吗?它可以处理你想要完成的一切。联系方式7也可以处理发送的邮件,或者只是捕获信息。我有一些表单,一些发送电子邮件,一些发送内部回复。是的,它处理发送tooContact表单7看起来不错,但它将用于的项目使用bootstrap。有没有一个简单的方法来使用引导程序呢?我以前在几个项目中做过。我记得,您可以为每个输入字段指定相关的引导类,一切都可以开箱即用。我已经有一段时间没做了,但是看看这是否对你有帮助。
add_action('wp_ajax_amc_form_fr', 'my_action_callback');
var dataString = $(form).serialize();

jQuery.ajax({  
    type: "POST",  
    url: ajax_object.ajaxurl, 
    dataType : 'JSON', 
       data : 'action=jQuery.ajax({  
       type: "POST",  
       url: ajax_object.ajaxurl, 
       dataType : 'JSON', 
       data : 'action=amc_form_fr&'+dataString,&'+dataString,

  success: function(response) { 
    console.log(response);
   // your code 
   }