Angular POST请求报错求助:Postman正常但前端返回空响应
解决Angular POST请求的ERR_EMPTY_RESPONSE问题
嘿,我看了你的问题和代码,发现几个关键问题,先把这些修复了应该能解决当前的错误:
1. 修复API地址的语法错误
你的服务类里accessPointUrl的引号嵌套完全错了——你把api用多余的单引号包起来了,导致请求的URL变成了无效的http://'api':10050...,这绝对会让请求失败。赶紧改成这样:
private accessPointUrl: string = 'http://api:10050/api/content/Delivery';
2. 不要手动序列化JSON
Angular的HttpClient.post会自动把JavaScript对象序列化为JSON字符串,再配合你设置的Content-Type: application/json请求头,完全不需要手动调用JSON.stringify。你现在传了一个字符串过去,反而可能导致后端无法解析请求体。把组件代码改成这样:
onSubmit(){ let payload = { Name: "StackoverFlow" }; // 直接传原生JS对象 this.http.add(payload).subscribe( (data:any)=>{ console.log(data) }, (error) => { // 加上错误回调,方便后续排查问题 console.error('请求失败详情:', error); } ); }
3. 若仍有问题,排查CORS配置
虽然Postman能正常请求,但浏览器会触发预检OPTIONS请求,后端需要正确处理跨域规则:
- 确保后端配置了允许你的前端域名发起跨域请求
- 确保后端响应OPTIONS请求时返回正确的CORS头(比如
Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers) - 如果请求涉及认证信息,还要确保
Access-Control-Allow-Credentials配置正确
先把前两个代码错误修复,这应该是导致你当前ERR_EMPTY_RESPONSE的核心原因。如果修复后还是有问题,再去检查后端的CORS设置。
内容的提问来源于stack exchange,提问作者AliAb
相关产品推荐
相关产品推荐

