Можно ли через Ajax обратиться к методу объекта в php? Решил попробовать MVC паттерн, и не хочется ловить GET запросы на стартовой странице , парсить их и вызывать метод объекта php (из-за того что строка засоряется), а хочется сделать это через ajax. Так вот, могу ли я как-то передать в ajax не строку с php файлом, а обратиться к созданному объекту и вызвать его метод? Заранее спасибо.

21 Авг 2019 в 07:08
189 +1
0
Ответы
1

Да, можно обратиться к методу объекта в PHP через AJAX. Для этого обычно создается отдельный PHP файл, который будет обрабатывать AJAX запросы и вызывать нужный метод объекта.

Пример:

Создаем PHP файл, который будет обрабатывать AJAX запросы (назовем его ajax_handler.php):<?php
// Импортируем класс
require_once 'MyClass.php';
// Проверяем, был ли передан параметр action
if(isset($_POST['action'])) {
// Создаем объект класса
$myClass = new MyClass();
// Вызываем метод объекта в зависимости от переданного действия (action)
switch($_POST['action']) {
case 'method1':
$result = $myClass->method1();
break;
case 'method2':
$result = $myClass->method2();
break;
// Добавляем другие методы в соответствии с вашей логикой
}
// Возвращаем результат в формате JSON
echo json_encode($result);
}
?>Создаем класс, в котором будут методы, которые мы будем вызывать через AJAX (назовем его MyClass.php):<?php
class MyClass {
public function method1() {
// Ваш код метода method1
}
public function method2() {
// Ваш код метода method2
}
// Добавляем другие методы в соответствии с вашей логикой
}
?>В HTML странице создаем AJAX запрос для вызова метода объекта:<!DOCTYPE html>
<html>
<head>
<title>AJAX Example</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<button id="btnMethod1">Call Method 1</button>
<button id="btnMethod2">Call Method 2</button>
<script>
// Вызов метода method1 по клику на кнопку
$('#btnMethod1').click(function() {
$.ajax({
url: 'ajax_handler.php',
type: 'post',
data: {action: 'method1'},
success: function(response) {
// Обработка ответа
console.log(response);
}
});
});
// Вызов метода method2 по клику на кнопку
$('#btnMethod2').click(function() {
$.ajax({
url: 'ajax_handler.php',
type: 'post',
data: {action: 'method2'},
success: function(response) {
// Обработка ответа
console.log(response);
}
});
});
</script>
</body>
</html>

Таким образом, вы можете вызывать методы объекта PHP через AJAX без необходимости передавать строку с именем файла, а также избежать засорения начальной страницы.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 093 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир