Fullcalendar mit einem JSON-PHP-Seite als Quelle

Ich bin versucht, eine PHP-Seite, gehostet auf einem MySQL-server generiert eine JSON-feed, den ich verwenden wollte, wie in der "eventSources" array von Fullcalendar in meinem Ionischen Anwendung. Der Kalender ist rendering, aber es ist nicht die Anzeige der Daten in den feed. Ich habe die Arbeit an dieser für ein paar Tage und keine Dokumente auf dem Fullcalendar-site nicht funktioniert.

Hier ist die JSON-String:

 {"success":1,"message":"Details Available!","events":[
 {"ID":"1","title":"Example Class","start":"2014-08-29 09:00:00","end":"2014-08-29 17:00:00","all_day":"0"},
 {"ID":"2","title":"Example Class 2","start":"2014-08-13 00:00:00","end":"2014-08-13 00:00:00","all_day":"0"},
 {"ID":"3","title":"Example Event with Time","start":"2014-08-13 12:00:00","end":"2014-08-13 13:00:00","all_day":"0"},
 {"ID":"11","title":"Testing 123","start":"2014-08-13 00:00:00","end":"2014-08-13 23:59:00","all_day":"1"}]}

Hier ist die PHP-Seite generieren des JSON-oben:

<?php

ini_set('display_errors',1);
error_reporting(E_ALL);

header("Content-Type:application/json");
header("Access-Control-Allow-Origin: *");

$user="user";
$pass="password";
$table="database";


$db=new PDO("mysql:host=localhost;dbname=$table", $user,$pass);

//initial query
$query = "Select * FROM table";

//execute query
try {
      $stmt   = $db->query($query);
     }
catch (PDOException $ex) {
      $response["success"] = 0;
      $response["message"] = "Database Error!";
      die(json_encode($response));
     }

 //Finally, we can retrieve all of the found rows into an array using fetchAll 
 $rows = $stmt->fetchAll();


 if ($rows) {
     $response["success"] = 1;
     $response["message"] = "Details Available!";
     $response["events"]   = array();

 foreach ($rows as $row) {
     $post             = array();
$post["ID"]  = $row["ID"];
     $post["title"] = $row["title"];
     $post["start"]    = $row["start"];
     $post["end"]  = $row["end"];
     $post["all_day"] = $row["all_day"];

     //update our repsonse JSON data
     array_push($response["events"], $post);
    }


     //echoing JSON response
     echo json_encode($response);

   } else {
            $response["success"] = 0;
            $response["message"] = "No Events Available!";
            die(json_encode($response));
       }

   ?>

Hier ist der controller für den Kalender:

App.controller('LogHomeCtrl', function($scope, $log, $state)
{
$scope.TimeTabl = function()
{
    $state.go('timetable');
}
});

App.controller('calCtrl', function ($scope, $log, $state)
{
$scope.eventSources = [
{
    events: {
        url: 'url/calendarConnect.php',
        type: 'POST',
        error: function() {
            alert('there was an error while fetching events!');
        },
        color: 'yellow',   //a non-ajax option
        textColor: 'black' //a non-ajax option
    }
}

];
});

Ich habe versucht, mit verschiedenen Methoden den Aufruf der PHP-Seite, aber nichts davon funktioniert. Wenn jemand darauf hinweisen könnte, wohin ich gehe falsch, dass wäre toll.

InformationsquelleAutor geolaw | 2014-08-20

Schreibe einen Kommentar