通过定义一个事件源,我已经让我的 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 函数不会为“开始”和“结束”传递时间戳,因此数据更难处理。如何将时间转换为时间戳?
更新:正在发送的文本版本如下:
Tue Mar 19 2013 09:30:00 GMT-0300 (Hora oficial do Brasil)
虽然我可以用 PHP 解析它,但如果我可以使用时间戳,生活会简单得多。