@SpeNch

Почему php не видит post?

js:
let user_zapros = JSON.stringify({
			hudohnik: 1
		});
		let request = new XMLHttpRequest();
		request.open("POST", "../Site_requests/artistOne.php", true);
		request.setRequestHeader("Content-Type", "application/json");
		request.addEventListener("load", function() {
			console.dir(request.response)
		})
		request.send(user_zapros);

и код php :
<?php
include 'bd.php';
$id = $_POST["hudohnik"];
if($id) {
$request = $mysql->query("SELECT * FROM `artist` WHERE `artist_id` = '$id'");
$obj = [];

while($i = $request->fetch_assoc()) {
array_push($obj, $i);
}
echo json_encode($obj);
}
else {
	echo "false";
}

?>


проблемма в том что всегда php не видит пост запрос и отдает false, может я чтото не то передал в php?
  • Вопрос задан
  • 1178 просмотров
Решения вопроса 2
DevMan
@DevMan
потому что данных нет в $_POST.
вопрос задавался 100500 раз и ответ на него легко находится.
как пример – https://www.geeksforgeeks.org/how-to-receive-json-...
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что $_POST заполняется при использовании Content-Type: multipart/form-data. Вы используете application/json, значит данные надо считывать самостоятельно.
$json = file_get_contents('php://input');
$data = json_decode($json, true);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы