Angular项目提交表单后无法获取JSON格式数据求助
问题分析与修复方案
你的核心问题在于错误使用Angular Router跳转外部Swagger URL,同时服务中存在无效代码,导致无法正确处理API响应及后续跳转。以下是具体修复步骤:
1. 修正组件中的跳转逻辑
Angular Router仅用于单页应用的内部路由跳转,外部URL(如Swagger地址)需要用原生浏览器API处理。同时,你需要在API响应成功后获取数据,再执行跳转:
addUsers(){ this.userService.addUser(this.addUser) .subscribe({ next:(response) => { // 此处可获取API返回的JSON数据 console.log('API响应数据:', response); // 跳转外部Swagger URL,_blank表示新窗口打开,改用location.href可在当前页打开 window.open("https://localhost:7068/Users", "_blank"); }, error:(err) => { // 处理请求失败场景 console.error('请求出错:', err); } }) }
2. 清理服务中的无效代码
服务里的adduser.userName和adduser.userPassword两行无实际作用,直接删除:
addUser(adduser:User):Observable<User>{ return this.http.post<User>(`${this.baseApiUrl}/Users`, adduser); }
3. 额外排查点
如果仍无法获取JSON数据,检查以下内容:
- 确认
baseApiUrl是否正确指向后端API地址,排查跨域问题(可查看浏览器控制台Network请求状态) - 后端
/Users接口是否返回标准JSON格式,且响应头Content-Type为application/json - 确保
User接口字段与后端返回的JSON结构完全匹配,避免解析失败
内容的提问来源于stack exchange,提问作者Sumanth CVSS
相关产品推荐
相关产品推荐

