2016-09-29 74 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