【问题标题】:Angular http post params角度 http 帖子参数
【发布时间】:2017-11-03 23:28:26
【问题描述】:

我正在像这样向其他 api 发送一个发布请求

this._http.post(full, this.user, this.options)
      .toPromise()
      .then(success => {
        this.onSuccess(success);
      }, error => {
        this.onError(error);
      });

请求完美运行,但我从服务器收到了错误的响应,因为参数是以这种方式发送的:

已经尝试过使用 JSON.stringify 并且没有进行更改。

如何格式化数据? 有人遇到过这个问题吗?

提前致谢。

这是声明

public user: any;

在构造函数中:

this.user = {
      "email: null,
      "password": null,
      "remember": false
    }

【问题讨论】:

  • 你能展示一下 User 模型的代码吗?
  • @VitaliiChmovzh 电子邮件、密码并记住。
  • 我明白了。我可以看看你声明它的代码吗?
  • @VitaliiChmovzh 用变量的声明和构造函数中的赋值编辑了问题。
  • 好吧,我唯一的想法是尝试为您的用户提供实际类型,例如使用 { email: string; password: string; remember: boolean } 和构造函数声明一个类 User。构造您的类并将其传递给 http.post。另外我会检查请求内容类型。你用什么软件检查参数格式?我以前从未见过这样的问题..

标签: angular parameters http-post


【解决方案1】:

使用 rxjs 中的map 运算符将响应转换为 json

this._http.post(full, this.user, this.options)
          .map(res=> res.json())
          .toPromise()
          .then(success => { },
                error => {}
          );

【讨论】:

  • 不,这不会改变参数格式。 @Aravind
  • 我没听懂你能详细说明吗?
  • 我通过发布请求发送的参数格式错误,如图所示。我是从控制台得到的,因为格式错误,服务器拒绝了状态为 400 @Aravind 的请求
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多