@alex_p95
Учусь

Ajax на mvc (php)?

Товарищи, здравствуйте! В этом вопросе начинающий, так что не пинайте)
Как можно прикрутить AJAX если использую шаблон MVC на php?
Структура проекта ниже на фото:
2fe83264ec5d4a66b94897f2bf3ddce7.jpg
в контроллере у меня есть переменная view, которая проверяет get параметр, например, вот так:
localhost/project/?view=profile
Вообще у меня одна точка входа. В index.php имеется такая структура
include $view."php";
В этом проекте уже использую ajax, но присылается целая страница и я из нее вырезаю нужный мне кусок, но теперь мне нужен именно "правильный ответ" от сервера, не страница целиком...
Заранее большое спасибо всем!
  • Вопрос задан
  • 1716 просмотров
Решения вопроса 1
Структура проекта
app\
____Controller\
________Main.php
public\
____js\
________ scripr.js
vendor\
index.php
composer.json
.htaccess
В файле script.js
$('#confirmForm').on('click', function (event) {
    $.ajax({
        url: '/confirm',
        method: 'post',
        dataType: 'json',
        success: function (data) {
            console.log(data);
        }
    });
});

Во фронт-контроллере (index.php) перенаправили запрос к, например, контроллеру Main::index()
<?php
    session_start();
    require_once '/vendor/autoload.php';
    $router = new AltoRouter();
    $router->map('GET|POST', '/confirm', 'Main::index');

    if ($match = $router->match()) {
        $path = explode('::', $match['target']);
        $controllerName = 'Controller\\' . $path[0];
        $controller = new $controllerName;
        call_user_func_array([$controller, $path[1]], $match['params']);
    } else {
        header('Location: /404');
    }

В контроллере Main.php
<?php
class Main()
{
    public function index()
    {
        $service = new MainService();
        $service->saveForm();
        json_encode([
            'success' => true,
            'message' => 'Форма успешно сохранена'
        ], JSON_UNESCAPED_UNICODE);
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@SergeyZelensky-Rostov
почитайте про функции json_encode/decode в php
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 авг. 2022, в 01:00
300 руб./за проект
11 авг. 2022, в 00:49
50000 руб./за проект
11 авг. 2022, в 00:48
50000 руб./за проект