我目前正在使用fullCalendar调度程序,我需要拖动&放弃外部事件。在这里,当我创建一个新的外部事件时,我需要将其数据作为JSON字符串保存到localStorage中。页面加载我正在读取localStorage,如果有数据,我需要在外部下拉框中显示外部事件,我可以将它们拖放到日历中。但我在尝试解析我存储在localStorage中的JSON字符串时,得到“VM872:1未捕获的SyntaxError:JSON中位置1的意外标记o”。以下是我的代码
var extEvent = localStorage.getItem("externalEvents");
console.log(extEvent);
if(extEvent) {
var parsedItem = JSON.parse(extEvent);
//var parsedItem = JSON.parse(JSON.stringify(extEvent));
//var parsedItem = extEvent;
$.each(parsedItem, function(i, item) {
var elem = $( "<div class='external-dropable-event fc-event'>" ).appendTo( '#external-events-listing' ).text( item.title );
elem.draggable({
helper: function(ev) {
return $(ev.target).clone().css({
width: $(ev.target).width()
});
},
zIndex: 9999,
revert: true,
revertDuration: 0
});
var extEventData = { title: item.title, pid : item.pid, tid: item.tid, duration: item.duration, trName: item.trName, location: item.location, stick: item.stick };
elem.data('event', extEventData);
});
}
不幸的是,我在谷歌浏览器中收到此错误。这段代码适用于Fire Fox。
我也尝试将存储的数据解析为var parsedItem = JSON.parse(JSON.stringify(extEvent))。但这会引发一个“未捕获的TypeError:不能在'运算符中使用'[object object]中的'14'来搜索chorme和firefox中的'14'。