Данные в угловых единицах отображаются и исчезают при использовании $scope
Мой файл ejs:
Экспресс приложение
</head>
<body data-ng-app="indexHomepage" data-ng-controller="indexController">
<div style="margin:100px;">
<h1>Express!</h1>
<table data-ng-repeat="user in users">
<tr>
<td>
<h4 align="center"><br/><br/>{{user}}<br/></h4>
</td>
</tr>
<tr>
</tr>
</table>
</div>
<script src="controller/indexHomepageController.js"></script>
</body>
</html>
и мой угловой код контроллера:
var indexHomepage = angular.module('indexHomepage', []);
indexHomepage.controller('indexController', ['$scope', '$http', function ($scope, $http) {
$scope.getUsers = function () {
$http.get('/getUsers').success(function (response) {
if (response.responseErrorCode == 503) {
console.log("No users in database");
}
else {
$scope.users = response;
}
});
}
}]);
когда я помещаю console.log в другую часть контроллера вместо установки $scope.users, даже тогда он обнаруживается и сразу же исчезает. Но если я уберу функцию и просто сохраню:
$http.get('/getUsers').success(function (response) {
if (response.responseErrorCode == 503) {
console.log("No users in database");
}
else {
$scope.users = response;
}
});
здесь это работает.
Есть ли что-то, что мне не хватает?
1 ответ
У вас есть демо плункер? возможно, вы используете console.log вне блока else, и не забывайте, что вы используете службу $http, что вызов $ajax является обещанием.
$http.get ('/ getUsers'). then (function (response) {
if (response.responseErrorCode == 503) {
console.log("No users in database");
}
else {
$scope.users = response;
console.log ("reponse is" + JSON.stringfy (response)); }
}).catch(function(err){
console.log ('err' + err); })