EDIT:問題を示すCodebinを作成:http://codebins.com/bin/4ldqoy2/3 TL:DR:1つ以上のイベントをカレンダーにドラッグして保存ボタンをクリックした後、正しくフォーマットされたJSONを実際に出力する中古。外部ドラッグを使用してFullCalendarからデータを取得
fullcalendar-2.6.1外部ドラッグのデモ(external-dragging.htmlのhttp://fullcalendar.io/download/)では、カレンダーにドラッグされているイベントのデータにアクセスしようとしていました。
Iが提案を使用してみました:
$("#save").click(function() {
var eventsFromCalendar = $('#calendar').fullCalendar('clientEvents');
var eventsJson = JSON.stringify(eventsFromCalendar);
しかし、eventsJson、次のエラーを出力: TypeError例外:環状オブジェクト値
は私の代わりに、次のコードを使用してエラーを回避する方法を発見しました。
:1つのイベント、この意志の出力以下でseen = [];
var eventsJson = JSON.stringify(eventsFromCalendar, function (key, val) {
if (val != null && typeof val == "object") {
if (seen.indexOf(val) >= 0) {
return;
}
seen.push(val);
}
return val;
});
3つのイベントでそれをやって
[{
"title": "My Event 3",
"start": "2016-03-23",
"end": "2016-03-25",
"_id": "_fc7",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-23",
"_end": "2016-03-25",
"source":
{
"events": [null, {
"title": "My Event 4",
"start": "2016-03-23",
"end": "2016-03-25",
"_id": "_fc13",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-23",
"_end": "2016-03-25"
}]
}
}, null]
は、出力を次のようになる:
[{
"title": "My Event 2",
"start": "2016-03-27T00:00:00.000Z",
"end": null,
"_id": "_fc2",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-27T00:00:00.000Z",
"_end": null,
"source": {
"events": [null,
{
"title": "My Event 4",
"start": "2016-03-28T00:00:00.000Z",
"end": null,
"_id": "_fc7",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-28T00:00:00.000Z",
"_end": null
},
{
"title": "My Event 5",
"start": "2016-04-04T00:00:00.000Z",
"end": null,
"_id": "_fc10",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-04-04T00:00:00.000Z",
"_end": null
}]
}
}, null, null]
あなたが見ることができるように、それはオブジェクトを作成するとき、何かがうまくいかない2つのイベントが出力を次のようになる選択
[{
"title":"My Event 3",
"start":"2016-03-15",
"end":null,
"_id":"_fc5",
"className":[],
"allDay":true,
"_allDay":true,
"_start":"2016-03-15",
"_end":null,
"source":{"events":[null]}
}]
。 {"events":[null]}のソースが何であるかはわかりませんが、エラーの原因になっている可能性があります。私はまた、開始と_startとendと_endの違いが何であるかもわかりません。
希望すると助かります。おかげさまで
に次のように使用? – Blindsyde
ええ、あなたはそれを持っています。 http://codebins.com/bin/4ldqoy2/3 – Fayze
JSONを保存するページにJSONを送信したいと思いますか?あなた自身のオブジェクトを作成せず、各 'drop'イベントの後に必要な値だけを保存するのは、'#save'ボタンをクリックしたときだけ保存するのですか? – Yuri