web-dev-qa-db-fra.com

Angular 2 Erreur Les paramètres fournis ne correspondent à aucune signature de la cible d'appel

J'essaie d'appeler post api sur le bouton, mais je montre cette erreur:

Les paramètres fournis ne correspondent à aucune signature de la cible d'appel

Code:

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

http.post attend qu'un corps soit envoyé à l'hôte cible.

http.post(url, body, requestOptions)

Donc, si vous voulez juste un corps vide, car vous n'avez pas de données supplémentaires à envoyer, vous pouvez le faire:

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)
        );
}
23
rinukkusu

La méthode post nécessite au moins deux paramètres, le premier 'URL' et le second 'Body' et dans votre code, vous ne faites passer que l'URL et non le corps.

1
Ravinder Kumar