【问题标题】:Post Request to API not working | Angular 10.2向 API 发布请求不起作用 |角 10.2
【发布时间】:2021-01-19 11:10:50
【问题描述】:

我正在尝试通过我自己制作的 API 在我的数据库中创建一个新的访客。该 API 可与 C#-Front-end 和 Postman 一起正常工作。现在我正在尝试将 Angular 用于我的前端。我对 Angular 很陌生。

这是我的 Post-httpsRequest。是否犯了明显的错误?我无法弄清楚为什么它不起作用。控制台或登录浏览器中没有出现错误。

save(guest: Guest) {

return this.http.post<Guest>(this.REST_URL, guest)
  .pipe(
    retry(3),
    catchError(this.handleError)
   ); 
}

【问题讨论】:

  • 这会返回一个 Observable,你需要订阅它来做 http post 请求。
  • return this.http.post(this.REST_URL, guest).pipe(retry(3),catchError(this.handleError)).subscribe(guest => { return guest }) ;像这样?编译器要求退订
  • Observables 是惰性的。在您订阅它们之前,它们不会做任何事情。

标签: angular api post httprequest


【解决方案1】:

它可能有效,但您没有正确使用结果。如果请求完成,请检查浏览器的网络选项卡。 您可以这样更改代码:

save(guest: Guest): Observable<Guest> { //Adding the return type

return this.http.post<Guest>(this.REST_URL, guest)
  .pipe(
    retry(3),
    catchError(this.handleError)
   ); 
}

然后用法将是:

save(guest).subscribe( resultGuest => {
 // Process the result here
  }
);

阅读这里https://angular.io/guide/observables-in-angular 这是由于发布请求的异步结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多