eventSourceを定義することで、FullCalendarフィードが正常に機能するようになりました。
eventSources: [
{
events: function(start, end, callback) {
$.ajax({
url: svcURL,
dataType: 'json',
type: 'POST',
data: {
start: Math.round(start.getTime() / 1000),
end: Math.round(end.getTime() / 1000),
sid: %sid%,
csrf_test_name: csrf
},
success: function(json) {
callback(json);
}
});
}
}
例からコピーして貼り付けることで、タイムスタンプを完璧にできました。ただし、タイムスタンプも使用したい別のajax関数がありますが、タイムスタンプの代わりにデータのテキストバージョンを取得しています。
eventClick: function(event) {
if (confirm('Quer mesmo marcar este serviço?')){
markit(event);
}
return false;
}
eventClick関数は、イベントオブジェクトを私の「markit」関数に渡します。
function markit(obj){
$.ajax({
url: msvURL,
dataType: 'json',
type: 'POST',
data: {
start: obj.start,
end: obj.end,
sid: obj.sid,
uid: obj.uid,
aid: obj.aid,
csrf_test_name: csrf
},
success: function(json) {
alert('Got it marked!')
}
});
}
私が言ったように、markit関数は「start」と「end」のタイムスタンプを渡さないため、データの操作が難しくなります。時間をタイムスタンプに変換するにはどうすればよいですか?
更新:送信されているテキストバージョンは次のとおりです。
Tue Mar 19 2013 09:30:00 GMT-0300 (Hora oficial do Brasil)
PHPでそれを解析することはできますが、タイムスタンプを使用できれば、作業ははるかに簡単になります。