3

我的代码如下

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 feed php 文件的编码 url 的变量 - 一切正常。

我尝试替换事件:themeforce.events,用

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

但是现在日历无法加载。

我能做些什么?

4

3 回答 3

3

我想要一个 post 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);
    }
});
}
于 2015-02-26T06:12:22.330 回答
1

您应该按照文档中的说明使用 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...

]

});

还要确保您的提要的网址返回原始 json 数据数组!

于 2019-05-14T10:29:51.457 回答
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!');
    },
  }
于 2020-01-23T08:13:19.710 回答