2016-01-29 43 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