全部, 说我有以下代码:
select: function(start, end, allDay) {
var title = prompt('Event Title:');
if (title) {
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);
alert(start);
jQuery.post("save_calendar_event.php", {
title: title,
start: start,
end: end,
allDay: allDay
}, function(data){
alert(data);
});
}
calendar.fullCalendar('unselect');
}
然后我有一个PHP页面来接受帖子值:
$title = $_POST['title'];
$start_time = $_POST['start'];
echo "The start time is: ".$start_time;
如果我回显$ title,它可以正常工作,但如果我执行$ start_time,它表示值不存在。当在jQuery端显示启动警报时,它具有我想要传递的数据。为什么不将这个变量传递给我的PHP页面?
编辑 :如果我发出提醒,我的提醒会显示:2012年1月29日星期日中午12点00分(格林威治标准时间0600)(中央标准时间)
谢谢!
答案 0 :(得分:2)
您必须先强制将start
和end
js日期时间对象转换为string/timestamp
(在发送到$ .post之前)。
start.valueOf(); // for timestamp or shortcut +start
start.toUTCString() // to date format e.g. Wed, 01 Feb 2012 03:04:15 GMT
答案 1 :(得分:0)
编辑。请参阅重新签名的答案。这种方法可行,但不合适:
尝试用以下内容替换您的帖子数据对象:
{ title: encodeURIComponent(title), start: encodeURIComponent(start), end: encodeURIComponent(end), allDay: encodeURIComponent(allDay) }
然后在对数据执行任何操作之前,不要忘记在php端使用urldecode()。