【问题标题】:FullCalendar Cross Domain IssueFullCalendar 跨域问题
【发布时间】:2013-07-30 23:26:54
【问题描述】:

我正在尝试在我的本地主机上设置 FullCalendar 来测试它。代码如下:

$( '.calendar' ).fullCalendar( {
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    eventSources: [
        {
            url: "http://www.google.com/calendar/feeds/feed_one",
            className: 'feed_one'
        },
        {
            url: "http://www.google.com/calendar/feeds/feed_two",
            className: 'feed_two'
    ]
} )

我在控制台中收到此错误,但未显示事件:

XMLHttpRequest cannot load http://www.google.com/calendar/feeds/feed_one. 
Origin http://localhost is not allowed by Access-Control-Allow-Origin. localhost:1

XMLHttpRequest cannot load http://www.google.com/calendar/feeds/feed_two. 
Origin http://localhost is not allowed by Access-Control-Allow-Origin. localhost:1

根据我的研究,这似乎是Cross-Origin-Resource-Sharing 问题,但我不知道如何解决。

如果有人可以帮助我,或者指出我正确的方向,我将不胜感激。

【问题讨论】:

    标签: fullcalendar cors crossdomain.xml


    【解决方案1】:

    您需要为跨域访问发出 JSONP 请求。您能否设置以下属性并检查这是否适合您。

    您可以通过here获取JSONP的详细描述...

    eventSources: [
        {
            url: "http://www.google.com/calendar/feeds/feed_one",
            dataType : 'jsonp',
            className: 'feed_one'
        },
        {
            url: "http://www.google.com/calendar/feeds/feed_two",
            dataType : 'jsonp',
            className: 'feed_two',
    ]
    

    【讨论】:

    • 谢谢。这似乎解决了错误。但是,日历仍然没有显示任何事件。关于如何测试以查看问题所在的任何想法?
    【解决方案2】:

    我遇到了这个问题。添加到代码<script type='text/javascript' src='fullcalendar-1.6.2/fullcalendar/gcal.js'></script>后已修复

    【讨论】:

    • 我错过了这个文件参考,添加它解决了问题。
    • 我在尝试使用此类库时发现了同样的错误。之后,我添加了上述内容并且错误消失了。这种故障排除也帮助了一些人。所以不是我的故障排除,但你的评论不相关。
    猜你喜欢
    • 2017-08-29
    • 2017-08-15
    • 2012-03-12
    • 2012-12-11
    • 2011-07-05
    相关资源
    最近更新 更多