Админ ajax доступ в WordPress - 400 неверный запрос - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь отправить форму с помощью администратора ajax. Он показывает 400 неверных запросов.

<?php
/*
Template Name: My Template
Template Post Type: post, page, event
*/
get_header();
wp_enqueue_script('customjs',  plugin_dir_url( __FILE__ ). 'script.js', array(), '1.0.0', 'true' );
echo "<h2>Contact Form </h2>";
?>
<div class="well">
  <form>
    <div class="form-group">
      <label for="email">Email</label>
      <input class="form-control" type="text" name="email" placeholder="Email">
      <?php wp_nonce_field( 'contact-form', 'contact-form-nonce' ); ?>
    </div>

    <input type="submit" class="btn btn-primary" value="Submit">
    <?php echo admin_url('admin-ajax.php'); 
    
    ?>
    
  </form>
  <script>
  jQuery(document).ready(function($) {

jQuery('form').on('submit', function(e){
       console.log("jquery form");
       var loc = window.location.pathname;
       var dir = loc.substring(0, loc.lastIndexOf('/'));
       //console.log(loc);
       jQuery.ajax({
           type: 'POST',
           dataType: 'json',
           action : 'myFunction',
           url: "<?php echo admin_url('admin-ajax.php'); ?>",
           data: { 
              },
           success: function(data){
                  console.log("success");
           }
       });
       function myFunction()
       {
        console.log("aaa"); 
       }
       e.preventDefault();
   });

});
  </script>
</div>
<?php
get_footer();

1 Ответ

0 голосов
/ 07 августа 2020

Вероятно, в ваших функциях не определено действие myFunction . php.

Вы должны добавить что-то вроде этого в свой functions.php:

function myFunction() {
  //insert your code here
}

add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...