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

Express/Node.js接收Angular POST请求返回JSON为undefined问题求助

问题1:request.body返回undefined的原因

Express默认不会自动解析JSON格式的请求体,你没有配置对应的解析中间件,所以无法读取POST请求携带的JSON数据。

问题2:Angular收不到响应、console无输出的原因

你的/api/postData接口处理逻辑里,没有给前端返回任何响应,导致请求一直处于挂起状态,自然触发不到subscribe里的回调函数。


修复步骤

  1. 给Express添加JSON解析中间件,在app.use(cors())之后、路由定义之前添加一行代码:
// Express 4.16及以上版本自带该中间件,可直接使用
app.use(express.json())

如果使用的Express版本低于4.16,需要先安装body-parser依赖,替换为以下配置:

const bodyParser = require('body-parser')
app.use(bodyParser.json())
  1. 修改/api/postData的路由逻辑,操作完成后给前端返回响应:
app.post('/api/postData', function(request, response){
    console.log(request.body);  
    // 可根据业务需求自定义返回内容
    response.json({
        code: 200,
        msg: '数据接收成功',
        data: request.body
    })
})

补充说明

你已经引入了cors包,已经自动处理了OPTIONS预检请求,注释掉的自定义跨域处理代码不需要启用,不会影响请求逻辑。

内容的提问来源于stack exchange,提问作者apyy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:45:02