извините, если об этом спрашивали много раз, но я не могу заставить его работать.
Я пытаюсь создать спокойный сайт, у меня есть простая форма:
<form action="/my/path" method="post" id="myformid">
Name <input type="text" name="name">
<input type="submit" value="Test">
</form>
Я конвертирую данные, введенные пользователем, используя Javascript, и отправляю их в свой php-файл, используя Ajax:
function postData() {
$('#myformid').on('submit', function(event) {
event.preventDefault();
const json = JSON.stringify($("#myformid").serializeArray());
$.ajax({
type: "POST",
url: "/my/path",
data: json,
success: function(){},
dataType: "json",
contentType : "application/json"
});
});
}
И я попытался прочитать данные на php, как:
$data = json_decode(file_get_contents('php://input'), true);
$name = $data["name"];
Код работает отлично, если я отправляю JSON в теле запроса, используя такой инструмент, как Postman, но из того, что я тестировал с помощью Ajax, данные json поступают как данные POST, и я могу прочитать их, используя $ _POST ["name"] , но не с 'php: // input', как я сделал.
Как я могу это исправить, чтобы JSON был принят даже через Javascript?