Angularjs HTML5模式时请求url(true)

Angularjs HTML5模式时请求url(true),angularjs,angularjs-routing,Angularjs,Angularjs Routing,我已经启用了$locationProvider.html5Mode(true) 然而,我有django作为后端。在/logout/上,我需要直接向服务器询问url,就像$locationProvider.html5Mode(false)或只是访问:example.com/logout/而不是在前端一样 我应该使用哪个角度命令从服务器“强制”询问/logout/url?编辑:事实证明有两种可能的解决方案: 1) 看 2) 或者使用$window.location 以下是一个例子: $scope.

我已经启用了
$locationProvider.html5Mode(true)

然而,我有django作为后端。在
/logout/
上,我需要直接向服务器询问url,就像
$locationProvider.html5Mode(false)
或只是访问:
example.com/logout/
而不是在前端一样


我应该使用哪个角度命令从服务器“强制”询问
/logout/
url?

编辑:事实证明有两种可能的解决方案:

1) 看

2) 或者使用$window.location

以下是一个例子:

$scope.onLogoutClicked = function() {
    $window.location = "http://google.com";
}
$window.location和$location之间的差异

我什么时候应该使用$location?

当您的应用程序需要对当前URL的更改做出反应时,或者如果您希望在浏览器中更改当前URL,则可以随时进行响应

它不做什么? 更改浏览器URL时,不会导致重新加载整个页面。要在更改URL后重新加载页面,请使用较低级别的API$window.location.href

注:

  • $window是窗口的包装器,因此可以对其进行单元测试
  • $window.location=“URL”和$window.location.href=“URL”执行以下操作: 同样的事情

一种方法是只使用window.location=“example.com/logout/”绕过AngularJS@LostInComputer您能给我创建一个具有最佳处理程序的示例吗(我想可以通过
$watch
-ing
$location
$routeProvider
)?谢谢为什么您需要直接设置url?你想做什么?@davekr我在
url.py
url(r'^logout/$',logout,name='logout'),
。视图为:
def注销(请求):auth_注销(请求);返回HttpResponseRedirect('/')。因此,我需要一种方法来验证使用该视图注销用户的身份(如果有必要,我会使用)。@dioor那么,为什么不从视图返回带有重定向url的json,然后在前端使用它,并将$location更改为url?