在通过Ajax向PHP脚本发送表单数据时遇到问题。发送数据时出现此类错误
致命错误:找不到类库\控制器
我已经编写了自己的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文件中
答案 0 :(得分:3)
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步,然后访问该文件夹及其文件。