If you are refreshing the page after you send data then the browser is doing what is expected an replaying the last request performed. In your case it’s a post operation so the browser is making sure you really want to do that.
Some suggested alternatives to refreshing is to reset the form using DOM manipulation. Redirect to a thank you page with a link back to the form to fill it out again.
Hope that helps?
Easiest way is to issue a token on the page render and put that into the form submission where you want block that behavior. Store the token in the database and then only accept the form when it’s a valid token. Then once a token has been accepted and the form submission handled, invalidate the token in the database. In theory you could do the same using cookies (ie. issue one at the page render and then delete it on the submission rendering).
Another approach might be to submit the data through rest calls and then just redirect the page.