2016-09-29 103 views
0

我想升級我們的巨大的應用程序從角RC4 RC3與路由器3.0.0.rc.1。我使用app.module,main.ts,routes進行了必要的更改,並將所有指令,管道和提供程序移至app.module。還向所有http.get()添加了空主體(body:'')。但是現在我面臨的一個問題是,http.get()沒有從authService中調用。而這個調用是必需的,因爲這是我試圖獲得訪問令牌和刷新令牌的地方。Angular 2 RC5與路由器3.0.0.rc.1問題與http得到

由於某些原因,這隻發生在authService中。每個其他的http.get()都會被調用。

下面是我的函數)來調用http.get(

public getToken<T>(){ 
    var token = this.cookie.get('token'); 
    let self = this; 
    this.http.get<T>('api/gettoken/TO' 
    .replace(/TO/g, token.token)).subscribe((refreshtok)=>{ 
     //Some additional code 
    } 
    }); 
} 

所以它不進入http.get()

我錯過了在遷移到RC5一些步驟是造成這個問題?

AuthService不從httpService調用任何函數。這兩項服務之間有什麼聯繫我搞亂了?

回答

0

Http Get函數不需要<T>類型。另外,我會建議使用Typescript的模板字符串功能通過replace()。

this.http.get(`api/gettoken/${token.token}`) 

注意那些反引號不是單引號

+0

「的HTTP GET功能並不需要一個型」 - 這是從RC5開始?因爲在RC4中,這工作得很好。 經過進一步測試後,我發現AuthService並不會進入httpService,即使我在AuthService中導入httpService。根據RC5的步驟,我已經將這兩個服務導入到app.module並將它們添加到提供程序[]中。我搞砸了2個服務之間的一些鏈接? – user3344978

+0

你也在你的服務構造函數中添加Http,對吧?此外,如果您的項目可能,您可能需要將Angular2一直升級到最終版本,而不是RC5。 – cboston

+0

是Http在AuthService構造函數中。我會嘗試升級到最終版本並檢查。謝謝 – user3344978