2017-03-14 76 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")]