2012-01-21 15 views
1

すべての例を見てきましたが、なぜFullCalendarでイベントが表示されないのかわかりません。カレンダーが表示され、jsonをイベントに直接配置するとjsonが正しいように見えます。助けてください! - おかげFullCalendarでJSONイベントが表示されない

Javascriptを

$(document).ready(function() { 
    $('#calendar').fullCalendar({ 
     header :{ 
      left: 'prev, next, today', 
      center: 'title', 
      right: 'month, agendaWeek, agendaDay', 
      ignoreTimezone: false 
     }, 
     selectable: true, 
     selectHelper: true, 
     editable: true, 
//  events: [{"id":"1","title":"Test","start":"2012-01-20T13:00:00-08:00","end":"2012-01-20T14:00:00-08:00","allDay":false}] WORKS 
     events:'getJSONEvents.php',  
     loading: function(bool) { 
      if (bool) $('#loading').show(); 
      else $('#loading').hide(); 
     } 
    }); 
}) 

PHP

<?php 
    $query = "SELECT * FROM `Events` ORDER BY `id` DESC"; 
     if(GLOBALTESTMODE && $testMode){ 
      $rows = mysql_query($query, $myconnection) or trigger_error("Error: Query failed.".$query, E_USER_ERROR);   
     } else { 
      $rows = mysql_query($query, $myconnection) or trigger_error("Error: Query failed.", E_USER_ERROR);   
     } 


     //write object to array 
     $eventsArray = array(); 
     $events = array(); 
     date_default_timezone_set('America/Los_Angeles'); 
     while($row = mysql_fetch_array($rows, MYSQL_ASSOC)) {  
      $start = $row['start']; 
      $end = $row['end']; 
      $eventsArray['id'] = $row['id']; 
      $eventsArray['title'] = $row['title']; 
      $eventsArray['start'] = date('c', strtotime($start)); 
      $eventsArray['end'] = date('c', strtotime($end)); 
      if ($row['allDay'] == "true") { 
       $eventsArray['allDay'] = true; 
      } else { 
       $eventsArray['allDay'] = false; 
      } 
      $events[] = $eventsArray; 
     } 
    } 

    header('Content-type: application/json'); 
    echo json_encode($events); 
?> 
+0

ブラウザでコードを実行する方法がありますか、それともローカルマシンにあるのですか。 – Sabari

答えて

0

を使用すると、PHPスクリプトが期待される結果を返すことを確認したことがありますか?

また、実際にPHPスクリプトがJavascriptによって正しく呼び出されていることを確認してください(Webサーバーのアクセスログでこれを確認できます)。正しく呼び出されていない場合は、PHPファイルの絶対パスを指定する必要があります。

+0

はい。スクリプトが呼び出され、有効なJSONが戻されています。私はjsonがイベントとして直接配置することによって正しくロードされることを確認しました。 – GeekMom

0

日付の値が かどうかを確認してください。 IETFフォーマット(例:「Wed、18 Oct 2009 13:00:00 EST」) b。 ISO8601形式の文字列(例: "2009-11-05T13:15:30Z") c。 UNIXのタイムスタンプ

私の日付である「2012-04-7T12:16:30Z」が受け入れられなかったこの種の問題が発生しました。日の値に「0」を追加すると(「2012-04-07T12:16:30Z」)、JSONイベントを受け取るようになりました。

ちょっとした瞬間!

希望すると便利です。