FullCalendar.io 事件无法通过 PHP 加载,FullCalendar 会尝试解析 PHP 脚本的内容而不是其输出



我试图从MySQL数据库加载一些事件到FullCalendar日历。为此,我在PHP文件中创建了一个到数据库的连接,用于获取数据并将其作为JSON输出。

连接工作正常,当在终端中执行PHP文件时,我得到一个具有正确数据的JSON。

但是当试图通过FullCalendar API获取数据时,它不起作用。在浏览器控制台中,我从FullCalendar获得警告"解析JSON失败",当查看它试图解析的响应时,它只是php代码本身,而不是其输出。

因此,我复制了在正常终端中执行PHP文件所获得的正确输出,并用它替换了PHP文件中的PHP代码,然后解析成功了,因此显然FullCalendar只是试图解析PHP文件的内容而不是其输出。

那是什么原因?如何正确地将输出从PHP文件传输到FullCalendar API?

JavaScript in index.html:

<script>
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');

var calendar = new FullCalendar.Calendar(calendarEl, {
initialDate: '2021-09-12',
events: "get-events.php",
});

calendar.render();
});
</script>

get-events.php

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
$sql = "SELECT Title as title, Start as start, End as end FROM event_table";
$result = mysqli_query($conn, $sql); 
$myArray = array();
if ($result -> num_rows > 0) {
while($row = $result -> fetch_assoc()) {
$myArray[] = $row;
}
} 
print json_encode($myArray);
?> 

解决方案很简单,它与PHP或JavaScript代码无关,我的服务器环境只是没有正确配置(特别是PHP),所以PHP代码无法执行。

相关内容

  • 没有找到相关文章

最新更新