2016-05-05 3 views
0

У меня есть угловое приложение, которое направляется к шаблону с именем viewAll.html после нажатия ссылки.

Эта страница содержит некоторые данные, которые заполняются через AJAX через переменные области видимости.

Проблема в том, что всякий раз, когда я делаю обновление этих переменных сферы с помощью AJAX и пытаюсь отобразить его, страница становится пустой. Шаблон не загружается.

Вот код:

$http({ 
    method: 'post', 
    url: appContext('MarkMessageAsReadV2.json'), 
    data: { 
     "customerNotificationId":"", 
     "isRead":"Y", 
     "channelTypeCode":"101", 
     "readAll":"Y", 
     "customerType": "A" 
    } 
}).success(function (data) { 
    $http.post(appContext('ViewAllNotificationsV2.json'), { 
      "categoryGroupType":"ROLB", 
      "isArchived":"N", 
      "channelTypeCode":"101", 
      "limit":"20", 
      "page":"0", 
      "customerType": "A" 
     }).success(function(content, status, headers, config) { 
      $scope.notifications = content.all.notification; 
      $scope.personalNotifications = content.personal.notification; 
      $scope.businessNotifications = content.business.notification; 
     }).error(function(data, status, headers, config) { 
      // log error 
     }); 
}).error(function (a, b, c) { 
     console.log(a, b, c); 
}); 
+0

То, что вы видите в консоли? Есть ли ошибки? – OBender

+0

Можете ли вы проверить, пытается ли эта переменная загрузить ваш шаблон html или частичную внешнюю область контроллера. Я видел в нескольких случаях, если вы вывешиваете html за пределы области действия с контроллера, он испортил область и дает пустой экран. – Rahul

+0

Есть ли причина, по которой вы связываете свои обещания? Я заметил, что '$ http.post (/ * получать уведомления * /)' не зависит от возврата данных предыдущего обещания. – Kyle

ответ

0

пытаются использовать $ scope.apply() после области видимости переменных

$scope.notifications = content.all.notification; 
$scope.personalNotifications = content.personal.notification; 
$scope.businessNotifications = content.business.notification; 
$scope.$apply(); 
+0

$ http-цепочка обещаний выполняется во время дайджеста, нет места для $ apply или $ digest. – estus