Не понимаю в чём проблема. Задача такая: Нужно отправить из js данные в php и вывести их.
Код js:
function send_data(){
var request = new XMLHttpRequest();
var info = "123321";
request.open("POST", "http://localhost/index.php");
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('info=' + info);
}
Код php:
$info = $_POST['info'];
echo $info;
Лог Apache:
localhost: 127.0.0.1 [22/Jan/2020:17:04:15 +0300] "POST /index.php HTTP/1.1"
200 6 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
Просто ничего не происходит, вроде и отправляется всё нормально, но php ничего не выводит.
Чтобы вывести данные вы должны работать с ответом сервера. А если точнее то с XMLHttpRequest.responseText
проверяя XMLHttpRequest.onreadystatechange
; В коде ниже я добавил простой пример вывода возвращенных данных через alert();
function send_data() {
var request = new XMLHttpRequest();
var info = "123321";
request.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
alert(this.responseText);
}
};
request.open("POST", "http://localhost/index.php");
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('info=' + info);
}
Подробнее про response: https://developer.mozilla.org/ru/docs/Web/API/XMLHttpRequest/response
Подробнее про XMLHttpRequest с примерами: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
Ещё вариант - это использовать ajax через библиотеку jQuery. Она в отличие от XMLHttpRequest совместима с древними браузерами IE и лучше адаптирована под мелкие баги и особенности конкретных браузеров.
Подробнее: https://ruseller.com/lessons.php?id=1452&rub=32
php код выполняется в момент обращения к нему. Вы по JS отправляете данные и на этом заканчиваете работу. Соответственно php принимает данные, обрабатывает и тоже завершает работу.
Если вы пытаетесь посмотреть результат через браузер, то когда вы открываете страницу - это новое обращение и новое выполнение скрипта, никак не связанное с вашим запросом через JS. Поэтому если вам требуется вывести данные после отправки - нужно их тут же получить.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть функция валидации полей, для каждого поля свое правило в массивах, как эти массивы определить к примеру в метод rules и с него потом доставать...
Использую Viber-bot и phpКаким образом добавить кнопки ответа под постом каждого из сообщений отправленным ботом? Аналогично Telegram
Как с помощью регулярного выражения в PHP преобразовать строку вида hello @nickname (User)! в hello <a href="examplecom/nickname">User</a>!?
Использую php библиотеку для работы c api vkХочу сделать автоматическое дублирование сообщения с моего сайта на стену группы вк