我对MEAN很新。我正在尝试从Node向我的Angular Controller发送数据集。但是,角度控制器未接收到正确的信息并导致为空。
我的观点称为booklist.jade
这是我的服务器端(Node JS)
router.get('/thelist', function(req, res){
res.render('booklist');
});
router.get('/thelist/data', function(req, res){
.
.
.
// Find all books
collection.find({}).toArray(function (err, result) {
if (err) {
res.send(err);
} else if (result.length) {
res.json({booklist : result});
} else {
res.send('No documents found');
}
//Close connection
db.close();
});
}
});
});
这是我的客户端(Angular JS)
function booksController($scope)
{
$http.get("http://localhost:3000/thelist/data").success(function( data ) {
$scope.book=10; //THIS WORKS
$scope.table= data;
});
}
基本上,我希望$ scope.table从我的服务器获取所有数据。关于为什么失败的任何想法?
更新:在尝试一些控制台日志检查时,我发现Angular Controller没有调用请求router.get('/thelist/data', function(req, res)
。
答案 0 :(得分:0)
res.json({booklist : result});
根据您的代码,您发送的结果为booklist
属性
因此,在阅读时,您应该说$scope.table= data.booklist;
答案 1 :(得分:0)
我的客户端控制器错了。这是正确的。
app.controller('booksController',['$scope','$http',
function($scope,$http) {
$http.get("http://localhost:3000/thelist/data").success(function( data ) {
$scope.book=data;
});
}]);