私はFullCalendar(http://fullcalendar.io)の最新バージョンで作業しています。 FullCalendarは、顧客の訪問時間をプロットするカレンダーを表示します。それはカレンダーのイベントを内部的に保存して、さまざまな月に早送りおよび早送りすることができます。私は戻って2017年2月に行くまで、私がJavaScriptコンソールに次のエラーメッセージを取得した時点で、上と上の前月、現在の月のために働いて、とされていますFullCalendarヌルの '_id'プロパティを読み取れません
Uncaught TypeError: Cannot read property '_id' of null
at buildEventFromInput (fullcalendar.js:13527)
at fullcalendar.js:12980
at Object.success (fullcalendar.js:13110)
at i (jquery-3.2.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
at A (jquery-3.2.1.min.js:4)
at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)
エラーが火に表示されますの前に日付情報を取得するAJAX関数ですが、その月のクエリを実行したことを確認するだけで、データは正常に表示されます。エラーが発生すると、すでに見た月の1つに戻ると、もうイベントが表示されません。このエラーメッセージは、JavaScriptがまだ動作しているにもかかわらず、何らかの形でその内部データストレージを汚染しているようです。そうでなければ、もはや月を切り替えることができません。
私はFullCalendarに精通している誰かがこのエラーを見て、正しい方向に向けることを期待しています。アプリケーションはログインによって保護されており、実際のクライアント情報が含まれているので、テスト目的のモックアップを構築するのはかなり複雑なので、1時間か2時間かかることはないと思っています。自分自身で弾を噛んでやるよ。
ありがとうございました!
EDIT:テストケースです。
http://scripturemenu.com/test/index.html
エラーメッセージは私が上に報告するものとは若干異なる(「hasTimeを」プロパティを読み取るようにしようとしている代わりに、未定義のプロパティ「_id」の) - 私は、実際のクライアント名を切り替えたときの状況「CLIENT NAME」という単語とIDが表示されますが、2月にヒットした場合でもIDは表示されます。
興味深いことに、このテストケースを動作させるためにコードを操作していたとき、2月を過ぎてもカレンダーに日付が表示されなくても、AJAX呼び出しが1月にトリガーされました。
カレンダーの設定やサンプルデータを見ずに、問題の内容を伝えることは実際には不可能です。完全なモックアップは必要ないとは思いませんが、エラーの原因となるデータを確認すると便利です。特定の期間、ajax呼び出しを行うとエラーが発生した場合は、おそらく何かがあると思います入力データに欠落があります。おそらく、 "_id"のプロパティを持つnullオブジェクトです。 – ADyson
そして、正確には「カレンダーのイベントを内部的に保存して、さまざまな月に前進したり早送りしたりすること」を意味しました。 fullCalendarにすべてのイベントデータを長時間前からロードしていますか?正面よりも多くのデータをロードする必要がある時点でエラーが発生していますか?またはその月にデータが事前にロードされている必要がありますか? – ADyson
FullCalendarは、数か月分の情報を見てイベントデータを保存します。ソースコードを掘り下げていないので、最終的にそこに行く必要があるかもしれません。私はそれがグローバルJavaScript変数、データ属性、または何を使用するのかわかりません。あなたは月を変更するためにページをリロードしないので、別のAJAX往復なしで利用可能です – TulsaMJ