Angular 2 Error提供的参数与调用目标的任何签名都不匹配

时间:2016-07-12 09:07:31

标签: typescript angular

我试图在按钮点击时调用post api但是我显示了这个错误:

  

提供的参数与呼叫目标的任何签名

都不匹配

代码:

changeStatus(id) {
    this.http.post('https://localhost:44300/api/apis/ChangeStatus/' + id)
        .subscribe(
            data => this._data = data.json(),
            err => this.logError(err)
        );
}

2 个答案:

答案 0 :(得分:23)

http.post期望将正文发送到目标主机。

http.post(url, body, requestOptions)

因此,如果您只想要一个空体,因为您没有其他数据要发送,您可以这样做:

changeStatus(id) {
    // mind the empty string here as a second parameter
    this.http.post('https://localhost:44300/api/apis/ChangeStatus/' + id, "") 
        .subscribe(
            data => this._data = data.json(),
            err => this.logError(err)
        );
}

答案 1 :(得分:1)

post方法至少需要两个参数,第一个是' URL'以及第二个' Body'在你的代码中,你只是传递URL而不是正文。