2

我正在使用路由功能编写一个 AngularJS 应用程序,但这会产生如下所示的 URL:

http://localhost/admin.html#/surveys/2/schedule

.html#从 RESTful 的角度来看,这种中间有的 URL可以吗?为什么或者为什么不?

4

1 回答 1

2

从技术上讲,它不是 RESTful,因为散列 ( #) 之后的所有内容都不会到达服务器。

我认为$routeProvider不必像担心不支持 HTML5/popState 的旧浏览器那样鼓励这些 URL。如果您想避免在 URL 中使用哈希,可以包含$locationProvider并调用.html5Mode(true)http ://docs.angularjs.org/guide/dev_guide.services.$location

澄清一下,即使您切换到使用$locationProvider,您的 URL 也将是您网站的唯一 RESTful 内容。REST 不仅仅是漂亮/可用的 URL……如果您使用 AngularJS,您仍然(阅读:您仍然应该)只是提供 HTML,而不是从您的站点实际修改服务器上的任何内容。如果您正在考虑 REST,您应该更担心设置 RESTful Web 服务并让 AngularJS 与之对话。

于 2013-06-06T17:43:01.297 回答