AngularJS从后端获取数据

lat*_*ata 5 frontend backend web angularjs

我想知道当我想在我的网络应用程序中使用angularJs(或类似)时,从后端获取数据的正确方法是什么?

我看到的唯一方法是使用来自后端的数据呈现html(带有js脚本的静态html - 例如angularjs),然后通过来自我的后端API的ajax请求下载数据.但我认为这个解决方案并不好,因为有许多HTTP请求:

例如,我有博客网站,我想在侧边栏上显示帖子,评论和相关帖子.所以我可能需要至少发出3个HTTP请求来获取数据,除非我准备API以在一个请求中获得所需的全部内容.

我还可以想象可能有更多HTTP请求的网站.这是一个正确的方法吗?它不会使服务器超载吗?或者我的思维方式错了?

Eth*_*one 1

它是 websocket 或 HTTP 请求。准备 API 以在一个请求中获取所有内容是一种选择。另外两个选项是 XMLHttpRequest/iframe 流,这是一种称为Comet的技术方法。

我会选择 websockets,因为它应该解决以前使用 iframe 流等奇怪应用程序解决的问题。如果浏览器不支持 websocket,有些库可以正确处理回退:

web-socket-js(这需要一个 websocket 服务器)

Socket.IO(它有一个node.js模块,并且还在websocket协议之上实现了一种不必要的协议)

如果你选择旧的方法,那么在 Chrome 中加载(readyState==3)时会遇到很多问题,例如XmlHttpRequest.responseText