AngularJS - 保持重定向的url参数

时间:2016-01-29 21:19:20

标签: angularjs

我正在玩angularjs并尝试与辅助站点接口--Strava。这要求我使用重定向网址向其网站发送请求,并在重定向的网址中添加额外的参数。但是,我在使用基本的角度视图控制器结构时遇到了一些问题。

我的应用目前从index.html重定向到以下列方式显示view1

.config(['$routeProvider', function($routeProvider) {
$routeProvider.otherwise({
       redirectTo: '/view1'
});

}])

因此,当浏览器访问index.html时,这总是重定向到显示view1。

我从第三方回来的网址如下(我发送的网址加上代码参数)

http://mydomain:myport/index.html?code=12345678

但是当这次点击我的路线提供者时,会被重定向到

http://mydomain:myport/index.html?code=12345678#/view1

问题是在我的view1控制器中我尝试执行以下操作

.controller('View1Ctrl',  ['$scope','$routeParams', function($scope,$routeParams) {
  console.log($routeParams.code);
}]);

并且代码参数不可用。如果我手动将网址更改为

http://mydomain:myport/index.html#/view1?code=12345678

然后代码参数可用。几乎如果参数仅在视图中可用,如果它在URL的#/ view部分之后指定。

有谁知道我需要做些什么才能使其正常工作。

由于

标记

1 个答案:

答案 0 :(得分:1)

启用html5Mode

$locationProvider.html5Mode({
            enabled: true, 
            requireBase: false
        });
  

https://docs.angularjs.org/guide/ $位置

$location 服务解析浏览器地址栏中的 URL (基于window.location),并使URL可供您的应用程序使用。对地址栏中网址的更改会反映到$location服务中,对$location的更改会反映到浏览器地址栏中。