2015-07-12 71 views
0

被創建的事件之後,它是保存到數據庫中,並且等待作爲一個獨特的ID(的itemId)的響應。變化Fullcalendar事件參數渲染後

select: function(start, end, jsEvent) { 

     var title = projectName; 
     var eventData; 
     if (title) { 
      eventData = { 
       id: getId(), 
       itemId: 0, 
       projectId: projectId, 
       color: projectColor, 
       title: title, 
       start: start, 
       end: end, 
       allDay: 0 
      }; 
      $('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true 
      //******** create event time 

      $.ajax({ 
       url: 'index.php?call=saveItem', 
       data: {title: eventData.title, start: start.format(), end: end.format(), pid: eventData.projectId, allDay: eventData.allDay}, 
       type: "POST", 
       success: function(data) { 
        console.log('Added Successfully: '+data); 
        eventData.itemId = parseInt(data); 
       }, 
       fail: function(jqXHR, textStatus, errorThrown) { 
        console.log('error: '+jqXHR+":"+textStatus+":"+errorThrown); 
       } 

      }); 

     } 

我已經條目標識返回的「成功」,但我怎麼現在事件的一些數字,我從服務器,而不是「0」回更新的itemId?

後的反應是成功的,但因爲Ajax的異步,它需要一段時間,直到事件使得像這樣

success: function(data) { 
        console.log('Added Successfully: '+data); 
        eventData.itemId = parseInt(data); 

        $('#calendar').fullCalendar('renderEvent', eventData, true); 


       } 

是否有原來的問題的解決方案,我可以渲染事件。謝謝。

回答

0

我有調用事件加載函數一次ajax響應成功。

success: function (response) { 
    $('#calendar').fullCalendar('removeEvents'); 
    $('#calendar').fullCalendar('refetchEvents'); 
},