【问题标题】:Angular http-server page refresh 404sAngular http-server 页面刷新 404s
【发布时间】:2015-04-08 10:45:12
【问题描述】:

我有一个带有控制器的 Angular 应用程序,路由如下:

controllers/favorites.js

...
$stateProvider.state('app.favorites' {url: '/favorites'} ...);

index.html

...
<a ui-sref="app.favorites"> ...

当您单击&lt;a&gt; 标签时,它会将您带到正确的控制器,将页面路由到/favorites,一切都很好。但是,当您刷新页面时,我得到一个 404(网址仍然是/favorites

知道这是为什么吗?我正在使用http-server 运行该应用程序,但我也遇到了与python -mSimpleHTTPServer 相同的问题

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    可以通过 DOM 的“历史记录”API 更改页面位置而无需重新加载页面。您的后端不会自动知道或关心前端应用执行此操作的方式。

    在您的 Angular 应用程序将浏览器导航到位置 /favorites 后,当您刷新时,您将在位置 /favorites 处访问您的后端。

    您的后端是否对/favorites 的 GET 请求作出反应?也许应该!允许用户在没有 404 的情况下刷新通常被认为是“最佳实践”。

    这也许是打破 DRY(不要重复自己)的好时机;前端和后端都需要了解应用的路由。

    【讨论】:

      【解决方案2】:

      这可能与角度加载视图的方式有关。当您点击索引页面时,它会同时加载所有视图。我认为问题是因为您在同一页面上刷新它只是不知道重新加载视图。

      我会考虑将 grunt serve 用于开发服务器,因为它会在您每次编辑文件时自动刷新,并且非常方便。

      【讨论】:

      • http-server 也有自动重载
      猜你喜欢
      • 2020-09-22
      • 1970-01-01
      • 2018-02-05
      • 2019-03-08
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      相关资源
      最近更新 更多