在Angular中没有正文的HTTP Post

时间:2017-11-22 18:44:09

标签: angular http typescript angular-http

我想知道如何在没有正文的情况下发送HTTP post请求(特别是在Angular中)。这是我现在正在做的事情,但我收到错误Expected 2-3 arguments, but got 1)

我意识到第二个参数是针对正文的,但我并没有将它发送到服务器(是的,我知道POST调用会改变系统的状态,并且已经查看了THIS个问题)。

postRequest(id) {
  this.http.post('/api?data=' + id).map(
    (response) => {
      return response;
    }
  )
}

3 个答案:

答案 0 :(得分:9)

看起来这是正确的答案:

postRequest(id) {
  this.http.post('/api?data=' + id, null).map(
    (response) => {
      return response;
    }
  )
}

答案 1 :(得分:1)

使用您的IDE转到POST方法的定义,您可以看到传递body: any | null是可用的输入

post(url: string, body: any | null, options: {
    headers?: HttpHeaders | {
        [header: string]: string | string[];
    };

答案 2 :(得分:0)

如果null不起作用(4XX错误客户端),请尝试使用{} JSON

  postRequest(id) 
  {
     this.http.post('/api?data=' + id, {}).map((response) => {return response;})
  }