如何让jquery fullcalendar将其他参数传递给我的json feed脚本

时间:2012-09-21 21:15:29

标签: json fullcalendar

我的代码如下

jQuery('#calendar').fullCalendar({
    weekMode: 'liquid',
    events: themeforce.events,
    eventRender: function (event, element) {
        element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());           
    }
});

其中themeforce.events是一个包含json的编码网址的变量,它提供了一个php文件 - 一切运行良好。

我尝试使用

替换事件:themeforce.events
events: {
    url: themeforce.events,
    type: 'POST',
    data: {
        custom_param1: 'something',
        custom_param2: 'somethingelse'
    },

但是现在日历无法加载。

我该怎么办?

3 个答案:

答案 0 :(得分:2)

我想要一个ajax后请求的开始和结束时间,我花了一些时间来解决它。

这可能会对您有所帮助:

events: function(start, end, timezone, callback) {
$.ajax({
    url: url,
    type: 'POST',
    dataType: 'json',
    data: {
        start: start.format(),
        end: end.format(),
        custom_param1: 'value 1',
        custom_param2: 'value 2',
    },
    error: function () {
        alert('there was an error while fetching events!');
    },
    success: function(doc) {
        var events = [];

        $.each(doc,function (index, e) {
            events.push(e);
        });

        callback(events);
    }
});
}

答案 1 :(得分:0)

您应该按照doc中的说明使用extraParams:https://fullcalendar.io/docs/events-json-feed

var calendar = new Calendar(calendarEl, {

eventSources: [

// your event source
{
  url: '/myfeed.php',
  method: 'POST',
  extraParams: {
    custom_param1: 'something',
    custom_param2: 'somethingelse'
  },
  failure: function() {
    alert('there was an error while fetching events!');
  },
  color: 'yellow',   // a non-ajax option
  textColor: 'black' // a non-ajax option
}

// any other sources...

]

});

还请确保您的供稿的url返回原始json数据数组!

答案 2 :(得分:0)

只需在“事件”中放置“数据”而不是“ extraParams”

  events: {
    url: 'service.php',
    method: 'POST',
    data: {
        custom_param1: 'something',
        custom_param2: 'somethingelse'
    },
    failure: function() {
        alert('there was an error while fetching events!');
    },
  }