在FullCalendar中使用JSONP渲染远程事件的问题

时间:2010-10-23 20:53:46

标签: jquery fullcalendar jsonp

我正在尝试将json事件源加载到FullCalendar jQuery插件中,但是,我不明白如何将数据传递到FullCalendar中。调用url,并且在eventHandler函数中可以使用JSON对象。

下面的代码试图将结果数据传递给一个全局变量(感觉不对),然后将其传递给FullCalendar。

将数据从请求传递到FullCalendar的正确方法是什么?

function eventHandler(data) {
    events = data;
}


$.ajax({
    dataType: 'jsonp',
    url: 'http://localhost:9393/events/calendar/1.json',
    jsonp: 'callback',
    success: eventHandler
});

2 个答案:

答案 0 :(得分:2)

对于现在阅读此内容的任何人来说,有一种更简单的方法,因为如果它看到URL中的回调,Fullcalendar会自动添加事件。

因此,您的事件来源可能如下所示:

$('#calendar').fullCalendar({
  eventSources: [
    "http://some.domain.com/api/events.json?callback=?",
    "http://another.domain.com/api/events.json?callback=?"
  ]
});

重要的部分是callback=?。通常您使用callback=myspecialfunction但Fullcalendar会解释?并自动添加事件。

答案 1 :(得分:1)

如果您要访问同一域上的JSON(部署时),则以下内容应该有效:

$('#calendar').fullCalendar({
  events: "http://localhost:9393/events/calendar/1.json"
});

或者,您正在查看:

$.getJSON("http://localhost:9393/events/calendar/1.json&jsoncallback=?",
    function(data){
      $('#calendar').fullCalendar(data);
    });