设计角度应用程序时的虚拟起始页面

时间:2016-04-02 14:32:47

标签: javascript angularjs ajax node.js

因为我的App前端会有角度。以下是我为webapp考虑的流程。

  1. 浏览器中的用户类型http://www.example.com
  2. 服务器提供一个虚拟页面,没有HTML,只有角度为
  3. 的javascript
  4. 现在代码客户端发出ajax http get请求可能是http://www.example.com/start
  5. 现在,如果用户登录服务器,则发送带有用户信息的JSON响应 用于路由到用户主页的角度。否则,将发送适当的响应,并将角度路由到站点普通主页,并提供登录选项。
  6. 因为我是棱角分明的新人,我问这是一个好设计,如果不是专家怎么做呢? 我的问题不是身份验证,我的问题是,当我提供静态页面时,我必须以某种方式将用户信息传递给客户端。当客户端在浏览器URL栏中键入它时,我没有办法在javascript代码中捕获响应。这就是为什么我必须首先发送一个虚拟页面,以便我可以捕获创建一个ajax请求来捕获javascript中的响应并采取相应的行为

    并且在角度$ http.get中,angular会自动发送以前的会话信息(cookies),还是我必须明确发送它?

    我在后端使用express,nodejs作为服务器。

2 个答案:

答案 0 :(得分:1)

这绝对可以做到这一点,但我建议不要这样做。根据您的用户群,世界上仍有足够的地方和设备具有网络延迟和较差的渲染能力,因此我不建议使用javascript完全“空”页面加载。至少有一些静态欢迎文本或者当你的角度应用程序加载完成后会被替换。

如果您configure it correctly,Cookie应该通过,但我倾向于使用基于令牌的身份验证来处理单页应用。

答案 1 :(得分:1)

  
      
  1. 服务器提供一个虚拟页面,没有HTML,只有角度为
  2. 的javascript   

在开始尝试使用它构建前端实现之前,您应该先阅读一些关于AngularJS的内容 - 最具体的单页应用程序设计。

这是great tutorial for building a single page app with AngularJS

基本上,您需要来呈现一些HTML只是为了加载验证用户登录状态所需的Angular应用程序和控制器。

借助移动优先设计的一些原则,如果你设计的界面首先看起来很好没有数据 - 你的AngularJS控制器在#3和#4之间会有不错的体验决定是重定向用户还是根据业务逻辑以某种方式调整$ scope以影响UI。

您可以对#3使用大量不同的处理方式向用户传达应用程序的状态(在验证登录时,将其重新路由到某个安全区域或拒绝访问)