2012-03-21 90 views
14

我試圖使用完整的日曆從JSON源加載事件。 json來自像feed這樣的URL,「mysite.com/getEvents」(它返回一個json事件對象)。現在它返回一個對象jquery完整日曆json事件源語法

{"allDay":false,"end":1325577600,"start":1325577600} 

我試圖

$('#calendar').fullCalendar({ 
    events: 'mysite.com/getEvents' 
}); 

但沒有任何反應。我知道我的json缺少標題和ID。所以我們有2個問題。

  1. 什麼是正確的方式來獲得一個JSON網址
  2. 我如何去生成的每一個事件的ID創建的事件?

回答

15

您應該嘗試構建JSON,使其具有所有必填字段。例如,在我的項目以下就足夠了:

  • ID
  • 標題
  • 開始
  • 結束
  • 阿迪

我覺得ID只成爲唯一JSON提要的實例,因此您可以在生成JSON的服務器端腳本中增加一個計數器。從JSON腳本

輸出實例:

[ 
    "0", 
    { 
     "allDay": "", 
     "title": "Test event", 
     "id": "821", 
     "end": "2011-06-06 14:00:00", 
     "start": "2011-06-06 06:00:00" 
    }, 
    "1", 
    { 
     "allDay": "", 
     "title": "Test event 2", 
     "id": "822", 
     "end": "2011-06-10 21:00:00", 
     "start": "2011-06-10 16:00:00" 
    } 
] 
+0

謝謝。我嘗試過,但沒有奏效。什麼是正確的語法?我怎麼會只使用一個json對象而不使用URL。我試圖學習可用的語法,那麼在fullcalendar jquery調用的上下文中假設的json對象是什麼樣的。 – EKet 2012-03-21 18:54:57

+0

我編輯了我的答案,以提供您的腳本示例輸出 – 2012-03-22 03:27:07

+0

謝謝,我錯誤的語法,這是完美的。你達人。 – EKet 2012-03-22 18:59:48

16

當我使用公認的答案語法,我得到在日曆上四場比賽,而不是兩個。這兩個額外的奇怪標題是「12:44」。在一種預感,我刪除了「0」和「1」行,現在,它完美的作品:

[ 
    { 
    "title": "Ceramics", 
    "id": "821", 
    "start": "2014-11-13 09:00:00", 
    "end": "2014-11-13 10:30:00" 
    }, 
    { 
    "title": "Zippy", 
    "id": "822", 
    "start": "2014-11-13 10:00:00", 
    "end": "2014-11-13 11:30:00" 
    } 
] 
+2

接受的答案不起作用。但它的工作。 – 2015-04-22 13:28:41

+0

接受的答案是有效的JSON數據,但使用'events'不起作用。也許它可以用'eventSources'。上面的格式化解決方案確實有效。 – HPWD 2016-05-14 17:30:23

4

我知道這是一個老的文章,但其他人可能會尋找這...

你需要在你的json響應中有括號,它似乎期待着一組對象:

[ 
    { 
     "title":"foo1", 
     "id":"123", 
     "start":"2016-02-12T10:30:00", 
     "end":"2016-02-12T12:30:00" 
    }, 

    { 
     "title":"foo2", 
     "id":"456", 
     "start":"2016-02-14T10:30:00", 
     "end":"2016-02-14T12:30:00" 
    } 
]