Je ne parviens pas à obtenir le FullCalendar JQuery Plugin à lier à un réseau JSON provenant d'un ASP.NET MVC3 Action.
J'ai supprimé presque tout, du code pour tenter de chasser le problème; Je suis laissé avec ceci, qui de chaque article de tous les jours que j'ai lu, devrait travailler: p>
$(document).ready(function () {
$('#calendar').fullCalendar({
events: [{title: 'Event1',start: '2011-04-04'},
{title: 'Event2',start: '2011-04-05'}
]});
});
3 Réponses :
J'ai traversé et j'ai trouvé le problème - il y a une collision de nom de la fonction entre FullCalendar.js et jquery.validate.js. P>
Quelle fonction? Pourriez-vous fournir plus de détails s'il vous plaît.
Non, je ne me souviens pas; C'était il y a 30 mois. Si c'est critique, vous pouvez exécuter de vieilles versions? Mais le problème a été résolu par les versions ultérieures, alors quel est le problème?
Peut-être au lieu de cela: Essayez ceci: p> ou au lieu de ceci: p> events: '@Url.Action("Events", "Calendar")'
Merci, mais le Json est en cours de retour correctement, il est donc nécessaire de modifier la façon dont Urlhelper construit l'URL ne fait pas de différence. Et mon paramètre de lignes est déjà un tableau. Le problème est définitivement jquery.validate.js.
Utilisez la méthode $ .Ajax ().
action (contrôleur de calendrier) b> p> vue b>
p> $(document).ready(function () {
$('#calendar').fullCalendar({
events: function (start, end, callback) {
$.ajax({
url: '@Url.Content("~/Calendar/Events")',
dataType: 'json',
data: {
start: start.toLocaleString("yyyy-mm-dd"),
end: end.toLocaleString("yyyy-mm-dd")
},
success: function (doc) {
var events = [];
$.each(doc, function (key, val) {
events.push({
title: val.title,
start: val.start,
url: 'http://google.com'
});
});
callback(events);
}
});
}
});
})
Nope, le problème était définitivement la collision de noms que nous avons découverte l'année dernière. L'expansion de l'appel Ajax ne vous aiderait pas - mais en utilisant une version plus récente de JQuery.Validate.js a fait.
Il h. J'avais un problème similaire. Sauf le tutoriel que j'avais suivi spécifié Démarrer et se termine comme double, pas comme des chaînes. J'ai remarqué que dans votre code, ils étaient des cordes et je lui ai donné un coup de feu. S'avère que c'était correct et maintenant mon code GeveTents est appelé sur le backend. Poster ici au cas où il aide quelqu'un d'autre à l'avenir.
J'ai traversé et j'ai trouvé le problème - il y a une collision de nom de la fonction avec jquery.validate.js.