2017-03-14 99 views
0

我的角2服务数据:不能获取控制器动作.NET核心+角2

private verifyUserEmailUrl = 'api/admin/verifyuseremail'; 
verifyUserEmail(email: string): Observable<boolean> { 
    let params = new URLSearchParams(); 
    params.set('email', email); 
    return this.http 
     .get(this.verifyUserEmailUrl, { search: params }) 
     .map((response: Response) => { 
      return this.extractData(response); 
     }); 
    } 

我的控制器动作:在Visual Studio

[Route("[action]")] 
[HttpGet] 
public async Task<IActionResult> VerifyUserEmail(string email) 
{ 
    return Json(new Json("success", false)); 
} 

我设置断点,但没有按应用不要去那个断点。我也尝试将[FromQuery]添加到email,但它没有帮助。我该如何解决这个问题?

回答

0

Documentation

的http.get不发送请求,只是还没有。这个Observable是 冷的,这意味着请求不会出去,直到subscribes到Observable。

所以你需要subscribe到你的Observable。最后,您需要调用subscribe函数来实际执行请求。

private verifyUserEmailUrl = 'api/admin/verifyuseremail'; 

verifyUserEmail(email: string): Observable<boolean> { 
    let params = new URLSearchParams(); 
    params.set('email', email); 
    return this.http 
     .get(this.verifyUserEmailUrl, { search: params }) 
     .map((response: Response) => { 
      return this.extractData(response); 
     }) 
     .subscribe((data) => /* Your code here */); 
    } 
0

您的控制器映射了错误的URL。使用下面的映射。

[Route("api/admin/verifyuseremail")]