我正在尝试构建一个非SPA angularjs应用程序。从我的服务器路由工作正常,但我遇到的问题是$ location服务似乎无法理解我的网址。例如,如果我有http://localhost:9000/test/item?id=abc123并在控制器中调用$ location.search(),则返回一个空对象。看起来好像有角度总是假设你的网址中有一个哈希(#)。我尝试使用$ locationProvider打开html5模式,在这种模式下,$ location.search()将按预期返回id = abc123的对象。但是,在打开html5模式的情况下,我的链接不再用于路由服务器以进行路由。地址栏中的URL已更改,但未进行任何服务器调用。
那么,如何使用angular构建非SPA站点并仍然使用$ location服务来解析查询参数。这是可能的还是我必须编写自己的url解析器?
更新:我正在使用angular 1.3.15