仅供参考:如果你觉得我的帖子太长,下面有一个主要问题;)
我试图建立我的第一个angularjs应用程序,现在我坚持通过ajax从nodejs (express)服务器收集数据。
在前端,我用angularjs路由器和ng-view加载模板。在每个路由中,我都有模板和特定的控制器(这应该是非常基本的东西,对吗?)。好了,墙来了…我想把$http.get()从控制器中的nodejs服务器加载模板的正确的东西。使用GET,我可以像这样发送变量。
$http.get('http://.../API', { params: { twitterData : true, needed : "data2" } } )
.success( function(result) {
// pass result to template.
});
然后在服务器端获取像这样的参数
router.get('/', function(req, res) {
this.params = req.query;
// here run every function and collect it to one object
// then return it for front-end ajax call.
res.send(JSON.stringify(collectedDataObj));
}
collectedDataObj可以看起来像这样:
{ twitterData :
{ thisIs:twitterObject },
blog : {title: "...", content: "..." }
}
收集数据将通过嵌套回调,就像这里介绍的http://book.mixu.net/node/ch7.html
所以这是"收集所有数据后端"最好的方式来获取数据,还是我应该发送许多ajax调用来收集一个角度视图的数据?
表示一个$http.get()用于获取图片对象,另一个用于获取博客内容等
当然,如果你知道一些好的教程/例子,请把链接传给我。
在我看来,只要有可能,最好在一个请求中获得所有可以获得的内容。往返于服务器的开销非常大。