将表单数据通过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文件中加载我的类
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
,所以你不能“看到”库文件夹。您需要使用../
向后移动一步,然后访问该文件夹及其文件。