AngularJS Timer不能与Ajax Data一起使用

时间:2016-02-17 19:22:34

标签: javascript php angularjs ajax

我必须使用页面,其中一个是 screen.php 女巫会显示一个表格,其数据来自 data.php ,间隔为2秒。

在screen.php中,数据被拉出来:

 $(document).ready(function() {
   $.ajaxSetup({ cache: false }); 
      setInterval(function() {
   $('.container').load('data.php');
      }, 2000);
 });

在此之后我制作了一个AngularJS Timer应用程序:

    angular.module('MyApp', ['timer'])
            .controller('MyAppController', ['$scope', function ($scope) {
                $scope.timerRunning = true;
                $scope.startTimer = function (){
                    $scope.$broadcast('timer-start');
                    $scope.timerRunning = true;
                };
                $scope.stopTimer = function (){
                    $scope.$broadcast('timer-stop');
                    $scope.timerRunning = false;
                };
                $scope.$on('timer-stopped', function (event, args) {
                    console.log('timer-stopped args = ', args);
                });

            }]);

第一个脚本(来自data.php)返回的数据采用以下格式:

XXX XXXXXXXXXX XXXXXXXXX XXXXXXXX {{minutes}} : {{seconds}}

女巫应该在00:00转换{{minutes}}:{{seconds}},因为在datatest.php中提交的是:

<timer start-time="<?php echo $dt; ?>">{{days}} days, {{hours}} hours, {{minutes}} minutes, {{seconds}} seconds.</timer>

我知道这可能是一个真正的noob问题,但更好的问。

我已将AngularJS纳入 screen.php 页面,并通过以下方式填写了boday:

body ng-app="MyApp"

任何形式的帮助将不胜感激

P.S。对于那些对这个问题投降的人,请对其进行评论,所以我不会再犯同样的错误。

1 个答案:

答案 0 :(得分:0)

对于任何可能感兴趣的人,我完全放弃了AngularJS Timer,并且用php将你已经计算过的时间用min和sec拉回来,所以它每2秒刷新一次,并且它是相同的

    $ms=(strtotime($timeNow) * 1000)-(strtotime($row[6]) * 1000);
    $time=floor($ms/60000).':'.floor(($ms%60000)/1000);