Impossible de lire la propriété 'hasTime' undefined

Je suis en utilisant FullCalendar pour afficher les heures de travail du personnel sur un Calendrier.

Je suis en tirant les événements par le biais d'un appel ajax comme suit:

"events": function(start, end, timezone, callback) {

  //create the data to be sent
  var objectToSend = {
    "start_date": start.format("YYYY-MM-DD"),
    "finish_date": end.format("YYYY-MM-DD"),
  };

  //craft and make the request
  $.ajax({
    url: 'calendar/test',
    data: objectToSend,
    type: 'POST',
    cache: false
  }).done(function(data) {
    //on success call `callback` with the data
    callback(data)
  })
}

Cela fonctionne parfaitement bien, mais j'obtiens une erreur affiche dans ma console "Uncaught TypeError: Cannot read property 'hasTime' undefined" et que cela est à venir à partir de fullcalendar.min.js:6.

Je ne suis pas très à l'aise en JavaScript, mais ma recherche suggère que soit je n'ai pas fourni la bonnes dates ou ont données inutiles là.

Aussi loin que je peux dire que je suis en fournissant toutes les données. La fonction de génération de données ressemble à ceci:

public function test(Request $request) {
  $start_date = Input::get('start_date');
  $finish_date = Input::get('finish_date');

  $shifts = Roster::whereBetween('date', array($start_date, $finish_date)) - > get();

  foreach($shifts as $shift) {
    $start = $shift - > date.
    ' '.$shift - > start_time;
    $finish = $shift - > date.
    ' '.$shift - > finish_time;

    $events[] = array(
      'title' => $shift - > staff - > first_name,
      'start' => Carbon::createFromFormat('Y-m-d H:i:s', $start) - > toDateTimeString(),
      'end' => Carbon::createFromFormat('Y-m-d H:i:s', $finish) - > toDateTimeString(),
      'id' => $shift - > id,
      'allDay' => false
    );
  }

  return json_encode($events);
}

sorties:

[{"title":"Gemma","start":"2016-02-01 18:00:00","end":"2016-02-01 22:00:00","id":1,"allDay":false},
{"title":"Gemma","start":"2016-01-26 18:00:00","end":"2016-01-26 22:00:00","id":49,"allDay":false}]

Quelqu'un peut repérer ce que je fais de mal? Je suis simplement en train d'essayer de l'utiliser pour rendre ma événements pour le mois donné.

Edit: sortie de la console.log(data)

Il imprime:

[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]

L'ouverture de ce que je reçois:

0: Object

L'ouverture de ce que je reçois:

allDay: false
end: "2016-02-01 22:00:00"
id: 1
start: "2016-02-01 18:00:00"
title: "Gemma"
  • montrer callback fonction ..
  • J'essaie juste de suivre ce fullcalendar.io/docs/event_data/events_function vous ne savez pas où la fonction de rappel est? À l'exception plutôt que de donner une réponse au format XML, je suis en fournissant comme JSON.
  • ok, essayez de remplacer callback(data) à callback(data[0])
  • pourriez-vous fournir de la console.log(data) avant d'appeler le callback dans done d'une fonction
  • Juste essayé, j'obtiens la même erreur.
  • sortie de console.log(data) ajouté. Il y a plus d'objets que j'ai fourni seulement deux dans mon exemple de sortie.
  • Essayez de changer le format de la date: actuellement, le début et la fin est "2016-02-01 18:00:00" format dans la prochaine façon "2016-02-01T18:00:00" (ajouter T avant l'heure), qui pourrait entraîner une défaillance lors de la construction de date dans callback méthode
  • Il n'a pas besoin de la T que je peux construire les événements très bien sans elle. Par exemple, si je créer manuellement les événements avec la sortie d'exemple, qui est le même que ce que je reçois de chaque objet, il fonctionne. Cependant, je vais essayer d'ajouter de la T peu de temps
  • ok, ce qui est sur le remplacement de done de rappel à success aussi, vous pouvez définir success bien que dans les exemples sur fullCalendar page officielle

InformationsquelleAutor James | 2016-01-26