2016-05-05 7 views
0

Ich habe eine eckige App, die zu einer Vorlage namens viewAll.html routet, nachdem ein Link angeklickt wurde.

Diese Seite enthält einige Daten, die über AJAX über Bereichsvariablen aufgefüllt werden.

Das Problem ist, dass, wenn ich diese Bereichsvariablen über AJAX aktualisieren und versuchen, es zu rendern, die Seite leer wird. Die Vorlage lädt nicht zurück. Hier

ist der Code:

$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

Was Sie in der Konsole sehen? Gibt es einen Fehler? – OBender

+0

Können Sie überprüfen, ob diese Variable versuchen, Ihre HTML-Vorlage oder teilweise außerhalb des Bereichs Controller zu laden. Ich habe in wenigen Fällen gesehen, wenn Sie einen HTML-Code außerhalb des Bereichs von einem Controller rendern es den Bereich durcheinander bringen und Ihnen einen leeren Bildschirm – Rahul

+0

Gibt es einen Grund, warum Sie Ihre Versprechen so ketten ?. Ich habe festgestellt, dass '$ http.post (/ * get notifications * /)' nicht von der Datenrückgabe des vorherigen Versprechens abhängig ist. – Kyle

Antwort

0

try $ scope.apply() verwenden nach Umfang Variablen

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

$ http-Versprechungskette wird während des Digests ausgeführt, es gibt keinen Platz für $ apply oder $ digest. – estus