web-dev-qa-db-fra.com

Impossible de lire la propriété '_calendar' de undefined dans moment.js

Un message d'erreur s'affiche lorsque quelqu'un essaie de soumettre un événement de son calendrier pour qu'il soit enregistré sur le serveur. Toute aide est appréciée, merci pour votre temps! S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations spécifiques.

UPDATE: Il semble que lorsque je suis passé moi-même du passage à un tableau lorsqu'un événement est ajouté à l'agenda via la fonction de suppression de fullcalendar, alors cela fonctionne bien, mais j'ai eu des problèmes avec ce code utilisé clientevents de fullcalendar au lieu et maintenant je reçois cette erreur. Des idées sur ce qu'un correctif pourrait être pour cela?

Je reçois l'erreur suivante:

Uncaught TypeError: Impossible de lire la propriété '_calendar' de undefined en D (moment.min.js: 6) en e (jquery-1.11.3.min.js: 5) en Vb (jquery-1.11.3.min.js: 5) à Vb (jquery-1.11.3.min.js: 5) à Vb (jquery-1.11.3.min.js: 5) à Function.m.param (jquery-1.11.3.min.js: 5 ) à Function.ajax (jquery-1.11.3.min.js: 5)
à Object. (calendar: 514) sur Function.each (jquery-1.11.3.min.js: 2) sur Object.success (calendar: 500)

companyCalendar.blade.php

var emailContainer = {};
                    emailContainer.email = email;
                    console.log("AJAX call here to submit dropped events as guest.");
                    $.ajax({
                        type: "POST",
                        url: '/partialAccountCheck',
                        data: emailContainer,
                        success: function (data) {
                            console.log('success, proceed with adding events to the company calendar');
                            $.each(newEvents, function (i, event) {
                                if (event.title !== 'undefined' && event.title !== null && event.title !== undefined) {
                                    console.log(JSON.stringify(event));
                                    event.start = moment(event.start).toDate();
                                    event.end = moment(event.end).toDate();
                                    event.start = formatDate(event.start) + ' ' + event.start.getHours() + ':' + event.start.getMinutes() + ':00';
                                    event.end = formatDate(event.end) + ' ' + event.end.getHours() + ':' + event.end.getMinutes() + ':00';
                                    console.log('event start is: ' + event.start);
                                    console.log('event end is: ' + event.end);
                                    event.identifier = <?php echo json_encode($companyIdentifier) ?>;
                                    event.email = email;
                                    event.services = event.title;
                                    event.startAppointmentTime = event.start;
                                    event.endAppointmentTime = event.end;
                                    console.log("AJAX call here adding dropped appointments as guest.");
                                    $.ajax({
                                        type: "POST",
                                        url: 'submitCalendarEvent',
                                        data: event,
                                        success: function (data) {
                                            console.log('success');
                                        },
                                        complete: function (data) {
                                            console.log(data);
                                        }
                                    });
                                } else {
                                    console.log('exclude from submission');
                                }
                            });
                        },
                        complete: function (data) {
                            console.log(data);
                        }
                    });

 Stack Trace

5
rapid3642

J'ai résolu le problème en créant des variables pour event.start et event.end.

   start=moment(event.start).format('Y-MM-DD HH:mm:ss');
   end=moment(event.end).format('Y-MM-DD HH:mm:ss');
              $.ajax({
                  url:"insert.php",
                  type:"POST",
                  data:{title:event.title, start:start, end:end},
2
JimM

vous devez convertir votre date du format date au string.

event.start = moment(event.start).format('YYYY-MM-DD HH:mm:00');
event.end = moment(event.end).format('YYYY-MM-DD HH:mm:00');
1
Kaushik Makwana