0

我正在使用以下方法删除数据

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

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

请指导

4

1 回答 1

2

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

解决此问题的一种方法是您是否有权访问服务器端代码。您可以将DELETE方法的成功响应状态代码更改为204(“无内容”)。这样,该.json()方法将不会抛出错误,因为它期望响应正文为空。

另一种方式是想当然地认为如果状态码是200,则删除成功完成,而不是调用.json()响应对象。

于 2017-12-26T11:51:21.450 回答