如何在ajax响应中的angular js fullcalendar中设置日期

时间:2015-11-02 10:16:14

标签: ajax angularjs

我正在使用angular js fullcalendar control.I我正在调用一个服务器方法,该方法返回日期,我希望在服务器方法的响应中在fullcalendar中设置日期。

我正在使用ajax进行服务器调用。

以下是我所指的代码:

myModule.controller('calendarController', ['$scope', '$timeout', function ($scope, $timeout) {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();
  // '1/25/2015 12:00:00 AM' AND dDueDate <= '3/8/2015 12:00:00 AM' 
  var GetEventData = {
    startDate: "1/25/2008 12:00:00 AM",
    endDate: "3/8/2016 12:00:00 AM",
    tabstate: "Org"
  };
  var url = window.opener.oT.TracerURL + "/DakotaScheduler.aspx/GetEventData";
  $.ajax({
    url: url,
    type: 'POST',
    data: JSON.stringify(GetEventData),
    contentType: "application/json; charset=utf-8",
    dataType: "json"
  }).done(function (response) {
    var eventdate = response.d.EventDataTable[0].EventDate;
    $scope.events = [{
        title: 'test',
        start: new Date(y, m, d, 3, 0),
        end: new Date(y, m, d, 4, 0)
    }];

    $scope.eventSources = [$scope.events];

  }).fail(function (jqXHR, textStatus, errorThrown) {
    console.log(errorThrown);
  });
  $scope.events = [{
        title: 'test',
        start: new Date(y, m, d, 3, 0),
        end: new Date(y, m, d, 4, 0)
    }];
    $scope.eventSources = [$scope.events];
}]);

此示例中发生了什么

$scope.eventSources = [$scope.events];

在ajax调用完成部分内的代码行不是设置日期,而是外部代码按预期工作。

但我需要设置从服务器返回的日期值。

1 个答案:

答案 0 :(得分:0)

试试这个

$timeout(function () {
    $scope.eventSources = [$scope.events];
}, 0);