Post запрос из js на php
Я пытаюсь отправить запрос на мой php файл, в нетворке все нормально, запрос идет, данные отправляются, но переменная $ _POST пустая, что я делаю не так?
Мой код:
<form>
<input type="text" name="name">
<button>Submit</button>
</form>
<script>
const form = document.querySelector('form')
form.addEventListener('submit', evt => {
evt.preventDefault()
fetch('form.php', {
method: 'POST',
body: new FormData(form)
})
})
</script>
<?php
print_r($_POST) // empty
?>
Если писать вот так, то все работает правильно, данные попадают в переменную
<form method="POST" action="form.php">
<input type="text" name="name">
<button>Submit</button>
</form>
Ответы (1 шт):
Автор решения: Denis640Kb
→ Ссылка
Вот так, названных умников много... А помочь никто не помог.
Используйте следующий вариант(протестировал):
<?php
?>
<form>
<input type="text" name="name" id="123">
<button formmethod="post">Submit</button>
</form>
<script>
const form = document.querySelector('form');
console.log(form);
form.addEventListener('submit', evt => {
evt.preventDefault();
fetch('form.php', {
method: 'POST',
body: new FormData(form)
}).then(function(response){
console.log(response)
}).catch(function(error){
console.log(error);
});
})
</script>
Второй файл:
<?php
$method = $_SERVER['REQUEST_METHOD'];
print_r($_POST);
Для отладки, можно добавить сохранение в файл.
<?php
$method = $_SERVER['REQUEST_METHOD'];
print_r($_POST);
$file = 'text.txt';
$current = file_get_contents($file);
file_put_contents($file, $_POST);



