Angular 4中的DELETE方法的net :: ERR_EMPTY_RESPONSE错误?

时间:2015-02-16 12:33:26

标签: angular typescript angular-http angular-observable

我使用以下方法删除数据

return this.http.delete(this.ApiURL, new RequestOptions({headers: headers,body: body })) .map((res: Response) => res.json());

但得到net :: ERR_EMPTY_RESPONSE当我在POSTMAN中运行它时,它也被成功删除。

请指导

1 个答案:

答案 0 :(得分:1)

在您的情况下,服务器返回一个空的HTTP响应正文并且状态为200 OK。但是,HttpResponse的{​​{1}}方法希望正文是有效的JSON字符串。由于您没有正文,因此.json()方法会引发.json()错误。您也没有Unexpected end of JSON input,并且此未处理的错误会传播到浏览器控制台。

解决此问题的一种方法是,您可以访问服务器端代码。您可以将.catch()方法的成功回复状态代码更改为DELETE("无内容")。这样,204方法不会抛出错误,因为它期望响应主体为空。

另一种方法是理所当然地认为,如果状态代码为.json(),则删除成功完成,而不是在响应对象上调用200