angular http 请求不起作用,但在邮递员上有效

angular http request doesn't work but on postman works

我正在尝试使用以下 url 发出 http get 请求:

 private materialsURL2='https://localhost:5001/api/material';

setPrice(id: any, price: any): Observable<any> {

  const url = `${this.materialsURL2}/${id}/price/${price}`;


 return this.http.get<any>(url,httpOptions).pipe(
          tap(_ => this.log(`updated material price id=${id}`)),
          catchError(this.handleError<any>('updateMaterialPrice'))
        );
      }

但是没有任何反应。如果我在浏览器中打开网络部分,则没有请求记录。如果我在邮递员中使用相同的 URL 它会正确执行请求。

您似乎从未订阅过获取请求。一旦您订阅,该请求就会触发。

return this.http.get<any>(url,httpOptions).pipe(
  tap(_ => this.log(`updated material price id=${id}`)),
  catchError(this.handleError<any>('updateMaterialPrice'))
).subscribe((result) => {
  console.log('now it should work', result);
})

https://angular.io/api/common/http/HttpClient#get

缺少对 observable 的订阅。如果不在可观察对象上调用订阅,底层链将不会执行任何操作。