title: Wordpress admin-ajax.php error 400 bad request
body: <p>hello  im doing save for later feature in my website
  but i get admin-ajax bad request when i click the button  </p>
  
  <p>functions.php</p>
  
  <pre><code>function zumra_scripts() { 
      wp_register_script( 'remove-prodduct-from-list', get_template_directory_uri() . '/js/remove-product.js', array('jquery'), false, true );
      wp_localize_script( 'remove-prodduct-from-list', 'sfl_ajax', array( 'ajaxurl' =&gt; admin_url( 'admin-ajax.php' )) );
      if ( is_page('savelist') ) {
          wp_enqueue_script( 'remove-prodduct-from-list' );
      }
  
  }
  add_action( 'wp_enqueue_scripts', 'zumra_scripts' );
  </code></pre>
  
  <p>save-for-later.php</p>
  
  <pre><code>  &lt;?php
  
  add_action( 'wp_ajax_my_action', 'my_action' );
  
  function my_action() {
      $user =         $_POST['user'];
      $post_id =      $_POST['post_id'];
      $response =     $_POST['saveForLater'];
      $response .= '&lt;a href="'. site_url("/savelist") .'"&gt;'. __( 'Browse Savelist', 'zumra' ) .'&lt;/a&gt;';
  
      add_user_meta( $user, 'product_id', $post_id);
  
      echo $response;
  
      wp_die(); // this is required to terminate immediately and return a proper response
  }
  
  add_action( 'wp_ajax_remove_product_from_list', 'remove_product_from_list' );
  function remove_product_from_list() {
      $user =     intval( $_POST['user'] );
      $product =  intval( $_POST['product'] );
  
      delete_user_meta( $user, 'product_id', $product);
  
      wp_die(); // this is required to terminate immediately and return a proper response
  }
  
  add_action( 'wp_ajax_move_to_cart', 'move_to_cart' );
  function move_to_cart() {
      $user =     intval( $_POST['user'] );
      $product =  intval( $_POST['product'] );
  
      delete_user_meta( $user, 'product_id', $product);
  
      // do_action( 'woocommerce_ajax_added_to_cart', $product );
      // wc_add_to_cart_message( $product );
  
      wp_die(); // this is required to terminate immediately and return a proper response
  }
  </code></pre>
  
  <p>save-for-later.js</p>
  
  <pre><code>    jQuery(document).ready(function($) {
      $('.ajax-form').on('submit',function(e){
          e.preventDefault();
          var data = {
              'action': 'my_action',
              'saveForLater': sfl_ajax.response,
              'user':         sfl_ajax.user,
              'post_id':      sfl_ajax.post_id,
              'product_id':   sfl_ajax.user_product,
          };
  
          // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
          jQuery.post(sfl_ajax.ajaxurl, data, function(response) {
              $('.save-for-later').html(response);
          });
      });
  });
  </code></pre>
  
  <p>i don't know what im doing wrong 
  i get error admin-ajax.php 400 every time i click add to save for later button</p>