Проблема с отправкой данных с помощью ajax в php скрипт - PullRequest
0 голосов
/ 29 ноября 2018

У меня проблема при отправке данных формы через Ajax в скрипт PHP.При отправке данных я получаю такую ​​ошибку

Неустранимая ошибка: класс Libs \ Controller не найден

Я написал свою собственную структуру проекта MVC и она работает нормально, если яотправляю данные только с помощью POST-запроса, но при отправке с AJAX получаю эту ошибку

use Libs\Controller;

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;


class Contact extends Controller {
  //rest code to send email with PHPMailer
}

А вот скрипт js

$("#contact-form").on('submit', function (e) {
    $(".validmessage").css("display", "block");
    e.preventDefault();

    $.ajax({
        url: "/../../app/controllers/Contact.php",
        type: "POST",
        data: $(this).serialize(),
        success: function (data) {
            $("#form_output").html(data);
        },
        error: function (jXHR, textStatus, errorThrown) {
            alert(errorThrown);
        }
            });
        });

Моя файловая структура:

controllers
 - Contact.php
-libraries
  - Controllers.php
  - Core.php
  - Database.php

Использование автозагрузчика PSR для загрузки моих классов в файл index.php

1 Ответ

0 голосов
/ 29 ноября 2018
   require '../libraries/Controllers.php'

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;


    class Contact extends Controller {
      //rest code to send email with PHPMailer
    }

Вам нужно сделать шаг назад, чтобы получить доступ к контроллерам.В данный момент вы находитесь в contact.php, поэтому вы не можете «видеть» папку с библиотеками.Вам нужно переместиться на 1 шаг назад, используя ../, а затем получить доступ к папке и ее файлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...