Должна быть часть задания с html-формой, в которой в атрибуте action должен стоять адрес динамического обработчика запроса.
Если рассмотреть в самом простом варианте, когда страница делает запрос сама себе, то это будет выглядеть примерно так:
UPD прошу прощения, набросал без тестирования, сейчас подправил до полностью рабочего варианта.
<form method="POST" name=f1 action="">
<input type="text" name="data" value=value>
<button name="submit" onclick="sendForm(); return false;">Отправить</button>
</form>
<script type="text/javascript">
function sendForm () { //
var f1= document.forms.f1,
button= f1.submit;
console.log('f1= ', f1);
// very stuped validation
if(f1.data.value.length) {
var xhr = new XMLHttpRequest();
console.log('xhr= ', xhr);
xhr.open('POST', f1.action, true);
var f1v= new FormData(f1);
xhr.send(f1v);
console.log('f1v= ', f1v);
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) {
console.log('xhr.readyState= ', xhr.readyState);
return;
}
button.innerHTML = 'Готово!';
if (xhr.status != 200) {
alert(xhr.status + ': ' + xhr.statusText);
} else {
alert(xhr.responseText);
}
}
button.innerHTML = 'Загружаю...';
button.disabled = true;
} else console.log('f1.data.length= ', f1.data.length);
}
</script>
<?php
if(!empty($_POST['data'])) echo 'Выдаём какие-то данные' ;
elseif(isset($_POST['data'])) echo 'Чего-то не вышло';
?>
Пример работы:
https://js-master.ru/?Javascripts___Бесплатные_скр...