jQuery AJAX form submits twice
As well as calling preventDefault, also call stopImmediatePropagation on the event. $(‘#exportForm’).submit(function(e){ e.preventDefault(); e.stopImmediatePropagation(); $.ajax({ type: “POST”, url: $(this).attr( ‘action’ ), data: $(this).serialize(), success: function( response ) { console.log( response ); } }); return false; });