HttpErrorResponse为200,但从不打印“成功”消息。而是显示在控制台中:
HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost:5000/api/File/create", ok: false, …}
this.http.post('api/File/create', waldo, { observe: 'response' }).subscribe(data => {
if (data.status == 200) {
console.log("success");
}
});
更新2:
[HttpPost("create")]
public ActionResult<File> Create([FromBody]File file)
{
try
{
_fileService.Create(file);
return Ok("sucess");
}
catch(Exception e)
{
return NotFound();
}
}
Angular端默认需要JSON响应。端点不响应JSON对象,而是响应纯文本。Angular端尝试将纯文本解析为JSON,但无法做到这一点,这就是引发错误的原因。
有两种方法可以解决此问题:
在服务器端,必须按照此处的回答返回JSON 。
或应将Angular端的http客户端配置为使用纯文本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句