Я работаю с Node, Angular & Mongo. И удалось успешно сохранить и извлечь пользователя из db. У меня в моей модели пользователя следующее → name: String. Это в основном, когда пользователь вводит свое имя и фамилию.
Теперь я хочу получить имя из базы данных и разделить первое и последнее имя, чтобы получить первую букву имени и фамилии для создания инициалов пользователя.
Мой вопрос: как это сделать в основном:
Часть моего кода app.js для извлечения пользователя следующая (в этой функции я бы написал раздельный код javascript):
//Retrieving the users
$scope.getUsers = function() {
$http.get('/api/users').success(function(data) {
$scope.userInfo = data;
//console.log("Retrieved users from the server", data);
//$scope.linkTaskToUser(data);
//console.log(data);
})
.error(function(data, status, headers, config) {
console.log("Error in retrieving users from server");
});
var FirstLastName = $scope.userInfo.data.name;
console.log('---->>>>>' , FirstLastName);
}
$scope.getUsers();
Я попробовал что-то вроде этого:
var FirstLastName = $scope.userInfo.data.name;
console.log('---->>>>>' , FirstLastName);
Но, конечно, это неправильно (порождает ошибку)....
Во-первых, добавьте код ниже внутри кода:
var FirstLastName = $ scope.userInfo.data.name; console.log('---- >>>>>', FirstLastName);
Теперь попробуйте консоль просто data.name. Если этот файл дает вам данные, попробуйте console.log($ scope.userInfo.name);
Надеюсь, это поможет вам! Приветствия !!!
get() - асинхронный - вам нужно управлять данными в функции успеха:
//Retrieving the users
$scope.getUsers = function() {
$http.get('/api/users').success(function(data) {
$scope.userInfo = data;
var FirstLastName = $scope.userInfo.data.name;
console.log('---->>>>>' , FirstLastName);
//console.log("Retrieved users from the server", data);
//$scope.linkTaskToUser(data);
//console.log(data);
})
.error(function(data, status, headers, config) {
console.log("Error in retrieving users from server");
});
}
$scope.getUsers();