Задать вопрос
@lexchz

Почему не принимается POST-запрос от Ajax?

Отправляю такой запрос:
function sendData() {
				let XHR = new XMLHttpRequest();
				let FD = document.getElementsByClassName('calc-input')[0].value;
				let json = JSON.stringify({
					phone: FD
				});
				XHR.addEventListener("load", function (event) {
					if (event.target.responseText == 'sent') {
						formCalc.classList.add('codesent');
					} else {
						alert(event.target.responseText);
					}

				});
				XHR.addEventListener("error", function (event) {
					alert('Ошибка отправки!');
				});
				XHR.open("POST", "/wp-content/plugins/thh/sendsms.php");
				XHR.setRequestHeader('Content-type', 'application/json; charset=utf-8');
				XHR.send(json);
			}


Файл sendsms.php

<?php

var_dump($_POST);


Статус запроса 200, в параметрах есть строка - {"phone":"+7(999)999-99-99"}
Но ответ сервера - array(0) { }

Почему так может быть?
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@green_goo
php не парсит тело запроса в json.
Если хочется json, то так
<?php
var_dump(json_decode(file_get_contents('php://input'), true));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
print_r(json_decode(file_get_contents('php://input'), true))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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