2016-06-29 58 views
0

anglejsでDayPilot Calendarを使用しようとすると問題が発生します。私はソースをダウンロードし、ダウンロードされたコードのソースコードは、なぜこの私はまだ混乱していますTypeError:未定義のプロパティ 'getTime'を読み取ることができません

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title>DayPilot: AngularJS Event Calendar</title> 

     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
<script src="js/daypilot/daypilot-all.min.js" type="text/javascript"></script> 
     <!-- helper libraries --> 
    <script src="js/jquery/jquery-1.9.1.min.js" type="text/javascript"></script> 

    <!-- daypilot libraries --> 
     <script src="js/daypilot/daypilot-all.min.js" type="text/javascript"></script> 

     <link type="text/css" rel="stylesheet" href="media/layout.css" />  

    </head> 
    <body> 
     <div id="header"> 
      <div class="bg-help"> 
       <div class="inBox"> 

        <hr class="hidden" /> 
       </div> 
      </div> 
     </div> 
     <div class="shadow"></div> 
     <div class="hideSkipLink"> 
     </div> 
     <div class="main"> 

      <div ng-app="main" ng-controller="DemoCtrl" > 

       <div style="float:left; width: 160px"> 
        <daypilot-navigator id="navi" daypilot-config="navigatorConfig" ></daypilot-navigator> 
       </div> 
       <div style="margin-left: 160px"> 
        <div class="space"> 
         <button ng-click="showDay()">Day</button> 
         <button ng-click="showWeek()">Week</button> 
        </div> 
        <daypilot-calendar id="day" daypilot-config="dayConfig" daypilot-events="events" ></daypilot-calendar> 
        <daypilot-calendar id="week" daypilot-config="weekConfig" daypilot-events="events" ></daypilot-calendar>     
       </div> 
      </div> 

      <script> 
       var app = angular.module('main', ['daypilot']).controller('DemoCtrl', function($scope, $timeout, $http) { 
        $scope.events = []; 

        $scope.navigatorConfig = { 
         selectMode: "day", 
         showMonths: 3, 
         skipMonths: 3, 
         onTimeRangeSelected: function(args) { 
          $scope.weekConfig.startDate = args.day; 
          $scope.dayConfig.startDate = args.day;        
          loadEvents(); 
         } 
        }; 

        $scope.dayConfig = { 
         viewType: "Day", 
         onTimeRangeSelected: function(args) { 
          var params = { 
           start: args.start.toString(), 
           end: args.end.toString(), 
           text: "New event" 
          }; 

          $http.post("backend_create.php", params).success(function(data) { 
           $scope.events.push({ 
            start: args.start, 
            end: args.end, 
            text: "New event", 
            id: data.id 
           }); 
          }); 
         }, 
         onEventMove: function(args) { 
          var params = { 
           id: args.e.id(), 
           newStart: args.newStart.toString(), 
           newEnd: args.newEnd.toString() 
          }; 

          $http.post("backend_move.php", params); 
         }, 
         onEventResize: function(args) { 
          var params = { 
           id: args.e.id(), 
           newStart: args.newStart.toString(), 
           newEnd: args.newEnd.toString() 
          }; 

          $http.post("backend_move.php", params); 
         }, 
         onEventClick: function(args) { 
          var modal = new DayPilot.Modal({ 
           onClosed: function(args) { 
            if (args.result) { // args.result is empty when modal is closed without submitting 
             loadEvents(); 
            } 
           } 
          }); 

          modal.showUrl("edit.php?id=" + args.e.id()); 
         } 
        }; 

        $scope.weekConfig = { 
         visible: false, 
         viewType: "Week", 
         onTimeRangeSelected: function(args) { 
          var params = { 
           start: args.start.toString(), 
           end: args.end.toString(), 
           text: "New event" 
          }; 

          $http.post("backend_create.php", params).success(function(data) { 
           $scope.events.push({ 
            start: args.start, 
            end: args.end, 
            text: "New event", 
            id: data.id 
           }); 
          }); 
         }, 
         onEventMove: function(args) { 
          var params = { 
           id: args.e.id(), 
           newStart: args.newStart.toString(), 
           newEnd: args.newEnd.toString() 
          }; 

          $http.post("backend_move.php", params); 
         }, 
         onEventResize: function(args) { 
          var params = { 
           id: args.e.id(), 
           newStart: args.newStart.toString(), 
           newEnd: args.newEnd.toString() 
          }; 

          $http.post("backend_move.php", params); 
         }, 
         onEventClick: function(args) { 
          var modal = new DayPilot.Modal({ 
           onClosed: function(args) { 
            if (args.result) { // args.result is empty when modal is closed without submitting 
             loadEvents(); 
            } 
           } 
          }); 

          modal.showUrl("edit.php?id=" + args.e.id()); 
         }       
        }; 

        $scope.showDay = function() { 
         $scope.dayConfig.visible = true; 
         $scope.weekConfig.visible = false; 
         $scope.navigatorConfig.selectMode = "day"; 
        }; 

        $scope.showWeek = function() { 
         $scope.dayConfig.visible = false; 
         $scope.weekConfig.visible = true;      
         $scope.navigatorConfig.selectMode = "week"; 
        }; 

        loadEvents(); 

        function loadEvents() { 
         // using $timeout to make sure all changes are applied before reading visibleStart() and visibleEnd() 
         $timeout(function() { 
          var params = { 
           start: $scope.week.visibleStart().toString(), 
           end: $scope.week.visibleEnd().toString() 
          } 
          $http.post("backend_events.php", params).success(function(data) { 
           $scope.events = data; 
          });    
         }); 
        } 
       }); 
      </script> 


     </div> 
     <div class="clear"> 
     </div>   
    </body> 
</html> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 

ある

angular.js:9563 TypeError: Cannot read property 'getTime' of undefined 
    at loadEvents (daypilot-all.min.js:11) 
    at update (daypilot-all.min.js:11) 
    at Object.fn (daypilot-all.min.js:11) 
    at h.$digest (angular.js:12031) 
    at h.$apply (angular.js:12279) 
    at g (angular.js:7991) 
    at C (angular.js:8196) 
    at XMLHttpRequest.y.onreadystatechange (angular.js:8137) 
それが働いて投げていませんでしたエラー

それを使用

https://code.daypilot.org/63034/angularjs-event-calendar-open-source

繰り返し問題が発生しています

答えて

0

"backend_events.php"によって返される応答をチェックする必要があります。 DayPilotは、JSON形式のイベントの配列を期待しています。スクリプトにサーバー側のエラーがある場合、レスポンスは代わりにエラーメッセージを返します。

ほとんどの場合、サーバー側のアクセス許可に問題があります。PHPスクリプトには、アプリケーションルートにあるdaypilot.sqliteファイルの読み書き権限が必要です。

+0

すべての.phpファイルを純粋なjson値ファイルに変更しても、これはなぜ起こっているのかまだ分かりません。 – user6409738

+0

新しいUbuntuインストールでダウンロードを試しましたがうまくいきます。ソースコード内で何か変更しましたか? – Dan

+0

あなたは私にソースコードを教えてもらえますか? – user6409738

関連する問題