当前位置: 代码迷 >> JavaScript >> Fullcalendar events.php不返??回JSON对象
  详细解决方案

Fullcalendar events.php不返??回JSON对象

热度:91   发布时间:2023-06-05 09:40:18.0

我正在尝试将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);
         }
     }
],

我认为,解决方案是从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处理。

  相关解决方案