You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular调用C# Web API出现net::ERR_EMPTY_RESPONSE错误求助

问题分析与解决方案

针对你遇到的Angular请求Web API返回net::ERR_EMPTY_RESPONSE问题,结合Postman测试正常的情况,以下是常见原因及解决步骤:


1. 跨域资源共享(CORS)未配置

浏览器会遵循同源策略拦截跨域请求,但Postman不受此限制。Web API默认不允许跨域访问,这是最可能的原因。

  • 解决:在Web API的Program.cs中添加CORS配置:
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowAngular",
            policy => policy.WithOrigins("http://localhost:4200") // Angular默认运行端口,按需替换
                            .AllowAnyHeader()
                            .AllowAnyMethod());
    });
    
    // 必须放在app.UseRouting()之后、app.UseAuthorization()之前
    app.UseCors("AllowAngular");
    

2. API路由前缀缺失

检查你的UserController类是否添加了路由注解,否则前端请求的/api/User路径无法匹配到控制器。

  • 解决:给控制器类添加路由标记:
    [Route("api/[controller]")]
    [ApiController]
    public class UserController : ControllerBase
    {
        // 你的控制器方法
    }
    

3. 端口或URL配置不匹配

  • 确认Web API实际运行端口是否为7174:查看项目根目录下launchSettings.json的applicationUrl字段,比如:
    "applicationUrl": "http://localhost:7174;https://localhost:7175"
    
  • 如果API启用了HTTPS,前端请求需改用https://localhost:7174,避免HTTP请求被重定向导致空响应。
  • 核对Angular的environment.ts中baseApiUrl是否与API实际地址完全一致。

4. 实体序列化失败

如果User实体包含循环引用(比如关联其他表的导航属性),JSON序列化时会出错,导致返回空响应。

  • 解决:在Program.cs中配置序列化忽略循环引用:
    builder.Services.AddControllers()
        .AddJsonOptions(options =>
        {
            options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
        });
    
  • 或在实体类的导航属性上添加[JsonIgnore]注解,排除不需要序列化的字段。

5. 浏览器或网络问题

  • 清除浏览器缓存,用隐身模式重新测试,避免缓存的无效响应干扰。
  • 检查本地防火墙是否阻止了Angular端口(默认4200)与API端口(7174)之间的通信。

6. Angular HttpClient模块未导入

确保app.module.ts中导入了HttpClientModule,否则HttpClient无法正常发起请求:

import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [
    // 其他模块
    HttpClientModule
  ],
  // ...
})
export class AppModule { }

内容的提问来源于stack exchange,提问作者Czesław Nowicki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:38:10