首页 文章

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

提问于
浏览
0

我正在尝试将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 回答

  • 1

    对于现在阅读此内容的任何人来说,有一种更简单的方法,因为如果它看到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会解释 ? 并自动添加事件 .

  • 2

    如果您将在同一个域上访问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);
        });
    

相关问题