angular - 在 Angular 7 中读取来自 POST 请求的响应
问题描述
嗨,我有一个 Angular 8 应用程序,可以将数据发布到 API(PHP 中的 REST)。我可以将数据发布到服务器并使用下面的代码创建新记录。
问题:我想阅读 API 方法的响应。例如,我在 API 中有逻辑来检查记录是否已经创建。如果帐户存在,则 API 返回
["MSG":"DUPLICATE_FOUND","STATUS":200]
否则返回
["MSG":"SUCCESS","STATUS":200]
我想在订阅后阅读属性 MSG,然后应用逻辑(即显示错误消息或其他操作)。但是当我执行 console.log(data) 时,它返回 null。
注册组件:
this.userService.addNewUser(user).subscribe(
(data) => {
console.log(data);
},
error => console.log(error)
用户服务.ts
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
addNewUser (user): Observable<any> {
return this.http.post<any>(endpoint + 'createNewUser', user, httpOptions).pipe(
catchError(this.handleError<any>())
);
}
谢谢你。
解决方案
问题是您的回复格式不正确。Angular 期望的是一个有效的 JSON 响应,在您的情况下,您可以通过用花括号替换方括号[]
来获得{}
,如下所示:
前
["MSG": "DUPLICATE_FOUND", "STATUS": 200]
后
{"MSG": "DUPLICATE_FOUND", "STATUS": 200}
如有疑问,您可以使用一些在线软件来验证您的 JSON,我喜欢这个。
推荐阅读
- flutter - 单击按钮时调用提供程序时出错(已保存格式)
- c# - Acumatica 21R1 中的冷冻过滤器
- string - 智能字符串匹配算法
- javascript - 具有轮播延迟加载的背景图像,并且对于 UX 目的而言不是必不可少的
- git - 如何将部分文件集合推送到 GIT
- php - 如何使用 Wordpress REST API 处理未捕获的异常?
- docker - 不同的远程 ip 取决于 docker 容器中的源
- django-models - 如何通过 Django 中的 pyuploadcare 包裁剪 GroupImageField 中的每个图像
- java - 静态方法/字段/块是元空间的一部分吗?元空间是否与堆分开并且在本机内存中?
- python - 如何在 Python 中翻译文本