You're using an HTML5 button element. Remember the reason is this button has a default behavior of submit, as stated in the W3 specification as seen here: W3C HTML5 Button So you need to specify its type explicitly: <button type="button">Button</button>