【发布时间】:2016-10-29 22:21:15
【问题描述】:
我对 MEAN 很陌生。我正在尝试将数据集从 Node 发送到我的 Angular 控制器。但是,角度控制器没有接收到正确的信息并导致空值。
我的观点叫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 拥有来自我的服务器的所有数据。关于为什么失败的任何想法?
更新:在尝试一些控制台日志检查时,我发现请求 router.get('/thelist/data', function(req, res) 没有被 Angular 控制器调用。
【问题讨论】:
-
您确定您的节点代码编写正确,即您是否进行了单元测试?您可能想要重构完成工作的代码,将其粘贴到单独的脚本或模块或其他任何内容中,并测试它是否正常工作 - 即隔离问题,现在可能是角度调用失败,也可能是您的脚本无法正常运行。
-
你控制台来自http请求的数据响应了吗?
-
我面临的唯一问题是 Angular 控制器永远不会调用
router.get('/thelist/data', function(req, res)。 -
@Wcanhttp请求函数成功但数据为空
标签: javascript angularjs node.js mean