Мой вопрос / проблема заключается в том, как отправить данные из формы с помощью JSON на страницу PHP.Я пробовал несколько методов, но по какой-то причине это не работает.Я считаю, что я отправляю данные неправильно, и поэтому я не могу получить данные на странице PHP.
Это код на моей странице входа (использует HTML и JavaScript):
<!DOCTYPE html>
<html>
<body>
<h2>UserName and Password</h2>
<form ID = "PassUser">
Enter UserName:
<input type="text" id="username" >
Enter Password:
<input type="password" id="password">
<br><br>
<input type="submit" value = "Submit" onclick = "submit_form()">
</form>
<script>
function submit_form() {
var user = document.getElementById("username").value;
var pass = document.getElementById("password").value;
var data = {}
data.uname = user;
data.upass = pass;
alert(data.uname);
alert(data.upass);
var json_data = JSON.stringify(data);
alert(json_data);
var json_upload = "json_name=" + json_data;
var request= new XMLHttpRequest();
request.open("POST", "test-middle.php");
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(json_upload);
};
</script>
</body>
</html>
Это код на странице php:
<?php
$data = $_POST["json_name"];
var_dump($data);
echo $data;
?>
Результат var_dump равен NULL.
Мне нужна помощь с попыткой выяснить, почему я не получаю данные на странице PHP.Если способ отправки данных правильный (не думаю, что это так), или если способ получения данных правильный?Я также попытался json_decode()
и file_get_content()
, оба привели к NULL.Я пытался выяснить все это некоторое время, и это не предполагалось так долго.
Кроме того, дополнительные строки кода, такие как предупреждения, просто для меня, чтобы проверить, проходили ли данные формы черезJavaScript правильно / вообще.
Кроме того, подумал процесс, как я это делал: получить данные формы и вставить их в объект.Затем используйте JSON.stringify (объект).Затем отправьте его на страницу PHP.Что касается страницы PHP, я просто хотел получить данные и вывести их или var_dump, просто чтобы проверить, получил ли я их.
Кроме того, не использую JQuery.Спасибо, T Спасибо
Редактировать 1: изменил json_data на json_name.Все еще выводит NULL.