使用AngularJS的单页面应用程序

时间:2015-11-18 14:03:59

标签: angularjs single-page-application

我正在使用Flask(使用jinja)和AngularJS在SPA工作。一切正常,但当应用程序处于给定状态并尝试在浏览器中刷新页面时,服务器响应404响应:“错误”:“未找到”。在尝试通过URL访问SPA应用程序的页面时,有没有办法使这项工作正常工作?

4 个答案:

答案 0 :(得分:1)

这可能取决于您的dev http服务器的设置方式:

  1. 应设置为始终加载默认页面 index.html ,以便角度引擎 加载运行然后它将提供其他路由(状态),如 localhost / state ,否则角度路由器将无法解析该URL,因为它未加载(让http服务器处理请求,提供404 Page Not Found)
  2. http服务器有时只提供一个级别的深层网址,如 localhost / state ,而不是 localhost / state / param ,您需要更改一些设置才能使其正常工作,但我认为这超出了你的问题的范围:)

答案 1 :(得分:0)

您可以在SPA中使用哈希。您需要在初始化视图模型之前解析哈希字符串,并根据哈希值设置当前可见页面,然后绑定视图模式。

答案 2 :(得分:0)

您需要有一条规则,以便始终返回与您的角度路线匹配的任何路线的SPA index.html页面。我不确定您的网络服务器是什么,apache或nginx或其他什么,但您应该能够找到有关如何将这些请求与index.html匹配的说明。

答案 3 :(得分:0)

您必须在角度js应用中启用html5模式为true。将其设置为false将解决您的问题。