繁体   English   中英

Angular 带有响应访问响应的发布请求 response.body 问题

[英]Angular Post request with response access response.body issue

我正在向我的服务器发送一个 POST 请求,我需要访问 response.body。

不幸的是,我没有找到这样做的方法

POST 请求

bday(id: number) {
let params = this.userParams;
return this.http
  .post<User[]>(environment.apiUrl + 'user/bday/' + id, {
    observe: 'response',
    params,
  })
  .pipe(
    map((response) => {
// I need to access the response.body
        })
      );
  }

但我收到错误消息:无论我尝试什么,“用户 []”类型都不存在属性“主体”。

我试图将值响应声明为 HttpResponse<User[]> 但这也不起作用。

我想知道为什么我无法访问响应的正文?

我做了一个获取请求,一切都很顺利:

获取请求

getUseres(params) {
return this.http
  .get<User[]>(environment.apiUrl + 'users', {
    observe: 'response',
    params,
  })
  .pipe(
    map((response) => {
      this.paginatedResult.result = response.body;
      if (response.headers.get('Pagination') != null) {
        this.paginatedResult.pagination = JSON.parse(
          response.headers.get('Pagination')
        );
      }
      return this.paginatedResult;
    })
  );

}

以前有没有人遇到过这个问题并且知道如何解决它? 谢谢!!!

post 方法签名是post(url, body, options)

所以它可能不起作用,因为您将选项设置为第二个参数而不是第三个参数。

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM