问题描述
我正在尝试将JSON对象发送回我的全日历ajax请求,而只是返回一个数组。 我是JSON和PHP的新手,但是我已经尽力进行了很多研究,但没有发现任何有用的东西。
events.php
<?php
// List of events
$json = array();
// Query that retrieves events
$requete = "SELECT * FROM `evenement` ORDER BY `id`";
// connection to the database
require_once 'mysqli_connect.php';
// Execute the query
$resultat = $dbc->query($requete) or die(print_r($dbc->errorInfo()));
// sending the encoded result to success page
$tempjson = json_encode($resultat->fetch_all(PDO::FETCH_ASSOC));
$tempjson = str_replace('"false"', 'false', $tempjson);
echo $tempjson;
?>
返回数据
[["1","title","2015-07-26 00:00:00","2015-07-26 00:00:00","","1"]]
所以,我的问题是,为什么它没有以正确的JSON键/值对格式返回?
而且我认为问题不在于jQuery,但以防万一...
来自calendar.js的ajax调用
eventSources: [
{
url: '/php/events.php',
type: 'GET',
data: {},
error: function (data) {
alert('There was an error while fetching events!');
console.log(data);
}
}
],
1楼
Jigar
1
已采纳
2015-07-26 05:23:59
我认为,解决方案是从mysql循环结果并生成所需的数组。
基本上,想法是确保您的.php
根据全日历要求生成有效的JSON对象。
eventSource的可接受值在其中提到
// Query that retrieves events
$requete = "SELECT * FROM `evenement` ORDER BY `id`";
// connection to the database
require_once 'mysqli_connect.php';
// Execute the query
$resultat = $dbc->query($requete) or die(print_r($dbc->errorInfo()));
// sending the encoded result to success page
while($row = $resultat->fetch_assoc()){
$array[] = $row;
}
$tempjson = json_encode($array);
$tempjson = str_replace('"false"', 'false', $tempjson);
echo $tempjson;
?>
我认为您使eventSources
变得复杂。
尝试简单的一个:
eventSources: [
'/php/events.php'
]
默认的ajax选项将由fullcalendar处理。