Как с помощью ajax запускать функцию php?

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

от delphine_bartoletti , в категории: PHP , год назад

Как с помощью ajax запускать функцию php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от linnea , год назад

@delphine_bartoletti 

Для того, чтобы с помощью AJAX запускать функцию PHP, необходимо выполнить следующие шаги:

  1. Создать файл PHP, содержащий функцию, которую вы хотите вызвать. Например, файл functions.php:
1
2
3
4
5
<?php
function my_function($param) {
    // Действия функции
}
?>


  1. Создать файл HTML или PHP, в котором будет вызываться AJAX запрос. Например, файл index.html:
 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
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Пример AJAX</title>
</head>
<body>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'functions.php',
                type: 'POST',
                data: {function_name: 'my_function', param: 'значение параметра'},
                success: function(data) {
                    console.log(data);
                },
                error: function() {
                    console.log('Ошибка выполнения запроса');
                }
            });
        });
    </script>
</body>
</html>


  1. В файле index.html создать JavaScript функцию, которая будет отправлять AJAX запрос на сервер и получать результат выполнения функции:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$(document).ready(function() {
    $.ajax({
        url: 'functions.php',
        type: 'POST',
        data: {function_name: 'my_function', param: 'значение параметра'},
        success: function(data) {
            console.log(data);
        },
        error: function() {
            console.log('Ошибка выполнения запроса');
        }
    });
});


Обратите внимание, что в параметре data указываются параметры, передаваемые в функцию my_function. В данном случае передается один параметр с именем param и значением 'значение параметра'.

  1. В файле functions.php добавить код, который будет вызывать нужную функцию в зависимости от параметра function_name:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
function my_function($param) {
    // Действия функции
}

if (isset($_POST['function_name'])) {
    $function_name = $_POST['function_name'];
    if ($function_name == 'my_function') {
        my_function($_POST['param']);
    }
}
?>


В данном случае проверяется значение параметра function_name. Если значение равно 'my_function', то вызывается функция my_function с переданным параметром param.


Таким образом, при выполнении скрипта index.html на сервер будет отправлен AJAX запрос на выполнение функции my_function с переданным параметром param. Результат выполнения функции будет выведен в консоль браузера.