我有一个带有控制器路由的角度应用程序,如下所示:
控制器/favorites.js
...
$stateProvider.state('app.favorites' {url: '/favorites'} ...);
index.html
...
<a ui-sref="app.favorites"> ...
当您单击
<a>
标记时,它将带您到适当的控制器,将页面路由到/favorites
,一切正常。但是,当您刷新页面时,我得到了404(URL仍然是/favorites
)知道为什么会这样吗?我正在使用
http-server
运行该应用程序,但是我也遇到了与python -mSimpleHTTPServer
相同的问题 最佳答案
可以通过DOM的“历史” API更改页面位置而无需重新加载页面。您的后端不会自动知道或关心前端应用程序执行此操作的方式。
在Angular应用程序将浏览器导航到位置/favorites
之后,刷新时,您将在位置/favorites
击中后端。
您的后端是否对/favorites
处的GET请求做出反应?也许应该!通常认为“最佳做法”是允许用户刷新而不使用404。
这可能是打破DRY(不要重复自己)的好时机;前端和后端都需要了解应用程序的路由。
关于javascript - Angular HTTP服务器页面刷新404,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29495464/