我试图创建一个isAdmin()函数来检查当前用户是否有#34; isAdmin:true"在mongodb。
server.js
app.get('/api/isadmin', function (req, res) {
User.findById(req.user, function (err, user) {
if (req.user.isAdmin == true) {
res.send(user);
} else {
return res.status(400).send({ message: 'User is not Admin' });
}
});
});
AdminCtrl.js
angular.module('App')
.controller('AdminCtrl', function ($scope, $http, $auth) {
$http.get('http://localhost:3000/api/isadmin')
.then(function (res) {
$scope.isAdmin = res.data;
}
});
当我访问页面/管理员时,它会抛出"无法读取属性' isAdmin' of null"在if里面的app.get中。为什么会出现这种情况,我最好的方法是使用admin函数?
答案 0 :(得分:1)
您没有使用发回给您的变量,但仍然是请求。
EditText
也许这应该有效(假设如果用户是admin则返回)
答案 1 :(得分:0)
尝试以下
angular.module('App')
.controller('AdminCtrl',['$scope','$http','$auth', function ($scope, $http, $auth) {
$http.get('http://localhost:3000/api/isadmin')
.then(function (res) {
$scope.isAdmin = res.data;
}
}]);