Страница , обычно , будет перезагружена после отправки формы, чтобы отобразить ответ, полученный после отправки формы.
Чтобы избежать получения двумя способами:
- Используйте
target=_blank
в своем теге формы
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" target="_blank">
Используйте
event.preventDefault();
для предотвращения действия формы по умолчанию, а затем отправляйте данные вручную с помощью
fetch
или, если вы используете JQuery, вы можете go с
ajax
. (Я буду go с выборкой стандартного API)
document.getElementByTagName("form")[0].addEventListener('submit', function(event) {
event.preventDefault();
const url = 'https://randomuser.me/api';
// The data we are going to send in our request
const data = {
name: 'Sara'
}
// The parameters we are gonna pass to the fetch function
const fetchData = {
method: 'POST',
body: data,
headers: new Headers()
}
fetch(url, fetchData)
.then(function() {
// Handle response you get from the server
});
});