我有一个角度应用程序,控制器路由如下:
控制器/ favorites.js
...
$stateProvider.state('app.favorites' {url: '/favorites'} ...);
的index.html
...
<a ui-sref="app.favorites"> ...
当您单击<a>
标记时,它会将您带到正确的控制器,将页面路由到/favorites
,一切都很花哨。但是,当您刷新页面时,我会得到一个404(网址仍为/favorites
)
知道为什么会这样吗?我使用http-server
运行应用,但我也遇到python -mSimpleHTTPServer
答案 0 :(得分:0)
可以更改页面位置而无需通过DOM的历史记录重新加载页面&#39; API。您的后端并不会自动了解或关注前端应用的执行方式。
在Angular应用将浏览器导航到/favorites
位置后,当您刷新后,您将在/favorites
位置点击后端。
你的后端是否对/favorites
的GET请求做出了反应?也许它应该!它通常被认为是最佳实践&#39;允许用户在没有404ing的情况下刷新。
这可能是打破DRY的好时机(不要重复自己);前端和后端都需要了解应用程序的路径。
答案 1 :(得分:-1)
它可能与角度如何加载视图有关。当您点击索引页面时,它会同时加载所有视图。我认为问题是因为您在同一页面上刷新它只是不知道重新加载视图。
我会考虑使用grunt服务器为dev服务器运行,因为每次编辑文件时它都会自动刷新,这样可以非常方便。