2016-01-29 155 views
0

我目前在玩angularjs并尝试与辅助站点 - Strava进行交互。这要求我使用重定向网址向其网站发送请求,并在重定向的网址中附加一个额外的参数。然而,即时通讯有一些问题得到这个基本的角度视图控制器结构的工作。AngularJS - 保持URL参数重定向

我的应用程序目前并重定向从index.html的展示厂景通过以下方式

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

}]) 

所以这总是重定向当浏览器打的index.html例如展示厂景。

,我回来从第三方的网址如下(网址我给他们加了码参数)

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

但是这击中我的路线提供商,它就会被重定向到

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

然后,问题是,在我的厂景控制器我尝试做以下

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

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

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

然后代码参数可用。它的差不多,如果该参数只在视图的#/ view部分之后指定的话才可用。

有谁知道我需要做什么才能正确工作。

感谢

马克

回答

1

启用html5Mode

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

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

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

+0

我加了这个,它现在重定向到一个url,缺少额外的参数。我想我需要添加一个'when'子句给我的routeprovider来保留参数? –

+0

是的! '$ routeProvider.when( '/第1页',{ templateUrl: '泛音/ page1.ejs', 控制器: 'page1Controller' });' 看到这一点:http://pastebin.com/9QZysp5D – Karan