Как выполнять код php при наступлении события javascript?

Пользователь

от raina , в категории: PHP , 8 месяцев назад

Как выполнять код php при наступлении события javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от stephon , 8 месяцев назад

@raina 

Для выполнения кода PHP при наступлении события JavaScript, необходимо использовать AJAX - асинхронный обмен данными между JavaScript и сервером. Вот пример, как это можно сделать:

  1. Создайте HTML-страницу, содержащую JavaScript-код и элемент, который вызывает событие:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
<script>
function handleEvent() {
  // Выполняется код JavaScript
  
  // Создание XMLHttpRequest объекта
  var xmlhttp = new XMLHttpRequest();

  // Установление функции обратного вызова
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      // Код PHP выполняется успешно, обработка ответа
      console.log(this.responseText);
    }
  };
  
  // Отправка AJAX-запроса на сервер
  xmlhttp.open("GET", "script.php", true);
  xmlhttp.send();
}
</script>
</head>
<body>

<button onclick="handleEvent()">Выполнить код PHP</button>

</body>
</html>


  1. В созданной странице создайте файл PHP с именем script.php, который будет выполняться при AJAX-запросе. В этом файле можно разместить любой код PHP для выполнения.
1
2
3
4
<?php
// Код PHP для выполнения
echo "Код PHP выполнен успешно!";
?>


Когда пользователь нажимает на кнопку, вызывается функция JavaScript handleEvent(). В этой функции создается объект XMLHttpRequest и настраивается функция обратного вызова, которая будет вызываться после выполнения кода PHP на сервере. Далее, открывается соединение с файлом script.php и отправляется AJAX-запрос на сервер.


На сервере файл script.php выполняет необходимый код PHP и возвращает результат обратно в функцию обратного вызова JavaScript. Результат может быть обработан по желанию.


Обратите внимание, что для выполнения этого примера необходим веб-сервер с поддержкой PHP.