Angular 2 - 删除带参数的请求
问题描述:
我需要做一个需要2个参数的删除请求,但我不确定如何去做。Angular 2 - 删除带参数的请求
我的代码看起来是这样的:
public deleteDefinition(typeName: string, id: number) {
console.log("in API call");
const path = `${this.apiEndpoint}/Definition/Delete/`;
return this.http.delete(path, typeName, id)
.map((response: Response) => response.json())
.catch(this.handleError);
}
,但我一直收到errror
提供的参数不匹配,通话对象的任何签名。
我的语法有什么问题?
在此先感谢!
答
在Angular 2中当前不支持传递正文消息到HTTP DELETE操作.HTTP DELETE调用也不意味着在正文中使用额外信息发送。
一个解决方案是更改URL结构,因此您不必在正文中提供信息。
另一种解决方法是使用POST而不是DELETE。 POST确实允许您提供消息正文。
签名是'http.delete(url,options)'。你应该在URL中包含'id'。至于你的'typeName'参数,我不知道它是什么意思。 – AngularChef
@AngularFrance好吧,所以我改变了我的变量路径以包含params,现在我做了一个'return this.http.delete(path)'但是,没有任何反应。在我的控制台中,我甚至无法看到请求,那么它是否根本不在接听电话? – Nicolas
仅当订阅**时才会执行**。你能确认在你的代码中有什么像'XXX.deleteDefinition(a,b).subscribe()'这样的东西吗? – AngularChef