2015-06-01 16 views
1

這裏是JSON數據的請求URL通過Ajax:如何在fullcalendar中更改ajax發送的'start'和'end'參數?

'/php/get-events.php?start=2015-05-31&end=2015-06-07&_=1433154089490'. 

那麼它將返回JSON data from 2015-05-31 to 2015-06-07

但是我想檢索更大時間範圍內的數據(可能超過一個月或一年)。

因此,我需要更改Ajax參數「開始」和「結束」。

fullcalendar文檔建議使用'startParam' and 'endParam',但它不起作用,即使我將其設置爲(YYYY-MM-DD)格式或UNIX timestamp格式。

如何在fullcalendar中更改'start'和'end'參數?

感謝您的任何幫助。

更新:

function show() { 
    var events = { 
     url: 'php/get-events.php', 
     data: { 
      q:"", // my parameter 
      code: "", // my parameter 
      startDate: '2014-08-08', //fullcalendar parameter 
      endDate: '2015-08-08', // fullcalendar parameter 
     }, 
     success: function (JS){ 

     }, 
    } 
    $('#calendar').fullCalendar('removeEventSource', events); 
    $('#calendar').fullCalendar('addEventSource', events); 
} 

的fullcalendar自動生成「開始」和對每個視圖「結束」參數(啓動視圖的日和結束日)。我需要更改這些以檢索更廣泛的時間範圍數據(例如:超過一年)。

+0

請出示你的代碼。 –

+0

您使用哪個視圖?說「不行」不利於理解問題。 – A1rPun

+0

更新了我的代碼。 – ibrahimozil06

回答

0

據我所知,你想改變參數名稱?我相信更改startParam a和endParam將不起作用,這些僅允許您更改與請求一起發送的參數,默認情況下爲startend

一種方法是創建自定義視圖,否則這裏是現有默認視圖的解決方案。首先設置一個全局startend PARAM名稱,你可以控制,如:

window.fc_startParam = 'startDate'; 
window.fc_endParam = 'endDate'; 

然後,你必須修改內success的JS對象,如:

function show() { 
    var events = { 
     url: 'php/get-events.php', 
     data: { 
      q:"", // my parameter 
      code: "", // my parameter 
      startDate: '2014-08-08', //fullcalendar parameter 
      endDate: '2015-08-08', // fullcalendar parameter 
     }, 
     success: function (data){ 
      var events = Object 
       .keys(data) 
       .map(function(key) { 
        return data[key]; 
       }) 
       .map(function(post, index) { 

        var json = { 
         q: post.q, 
         code: post.code, 
         start: post[window.fc_startParam] 
         end: post[window.fc_endParam] 
        } 

        return json; 

       }); 

      return events; 

     }, 
    } 
    $('#calendar').fullCalendar('removeEventSource', events); 
    $('#calendar').fullCalendar('addEventSource', events); 
} 
相關問題