3

コードやjsonに問題があるものが見つからないように見えるので、これは私を夢中にさせます。私はすでにそれを解決しようとして何時間も費やし、StackOverflowでも回答の割り当てを読みました。

次のコードがあります。

Jクエリ

$(document).ready(function() {
$('#calendar').fullCalendar({

        editable: true,

        events: "/action/json/calender",
        allDayDefault: false,
        eventDrop: function(event, delta) {
            alert(event.title + ' was moved ' + delta + ' days\n' +
                '(should probably update your database)');
        },

        loading: function(bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }

    });
});

コントローラ

public function calender()
{
    $this->load->model('json_model');
    $data['json'] = $this->json_model->getCalender();
    $this->load->view('json/calender', $data);
}

モデル

function getCalender()
{
    $sql = "SELECT id, title, start, end, user_id FROM gc_calender";
    $result = $this->db->query($sql);

    return $result;
}

意見

<?php
$jsonevents = array();

foreach($json->result() as $entry)
{
$jsonevents[] = array(
    'id' => 1,
    'title' => $entry->title,
    'start' => $entry->start,
    'end' => $entry->end,
    'allDay' => ''
);

}

 echo json_encode($jsonevents); 

JSON の例

[{"id":1,"title":"title 1","start":"2013-09-08 00:00:00","end":"2013-09-08 10:00:00","allDay":""},{"id":1,"title":"title 2","start":"2013-09-17 00:00:00","end":"2013-09-17 10:00:00","allDay":""}]

私がすでに試したこと:

  • Javascript自体にハードコードする
  • PHPヘッダーなのでjsonとして出力されています
  • fullcalender の古いバージョン

これが楽しい部分です..パッケージに付属のデモは私にとってはうまくいきます。ただし、jquery コードをその特定の json URL に向けると、まだイベントが発生しません。カレンダー自体はうまくレンダリングされます。

私が試したその他のこと: codeigniter によって提供される JSON でデモ HTML ページを使用すると、動作します.別のスクリプトとの競合があるか、フッターではなくヘッダーにスクリプトをロードする必要があると考え始めています。 ?

4

3 に答える 3