我正在玩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部分之后指定。
有谁知道我需要做些什么才能使其正常工作。
由于
标记
答案 0 :(得分:1)
启用html5Mode
:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$location
服务解析浏览器地址栏中的 URL (基于window.location),并使URL可供您的应用程序使用。对地址栏中网址的更改会反映到$location
服务中,对$location
的更改会反映到浏览器地址栏中。