Search code examples
jqueryajaxsubmit

jQuery AJAX form submits twice


I've got a form that I'm capturing via jQuery and sending via AJAX. My problem is that the form submits more than once every time I refresh the page.

I've tried to unbind the submit button but then the form is posted normally after the first submit. Any help would be appreciated

$('#exportForm').submit(function() {
  $.ajax({
    type: "POST",
    url: $(this).attr('action'),
    data: $(this).serialize(),
    success: function(response) {
      $('#exportForm').unbind('submit');
      console.log(response);
    }
  });
  return false;
});

Solution

  • It's most likely that you're using a button or submit to trigger the ajax event. Try this:

    $('#exportForm').submit(function(e){
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: $(this).attr( 'action' ),
                data: $(this).serialize(),
                success: function( response ) {
                    console.log( response );
                }
            });
    
            return false;
        });