JavaScript POST请求向MongoDB传入null值问题求助
问题解决:POST请求向MongoDB传值为null的问题
问题原因
前端使用fetch发送JSON格式请求时,未设置Content-Type: application/json请求头,导致后端express.json()中间件无法正确解析请求体,最终request.body为null。
修复方案
在前端fetch请求中添加请求头配置:
var obj = { name: username, total: marks } console.log(JSON.stringify(obj)) fetch('/index', { method: 'POST', body: JSON.stringify(obj), headers: { 'Content-Type': 'application/json' } });
说明
- 后端代码中已经正确配置了
express.json()中间件,只要前端带上正确的请求头,就能正常解析JSON格式的请求体。 - 你之前硬编码能插入数据库,说明MongoDB连接、模型定义都没有问题,核心问题就是请求头缺失导致的解析失败。
内容的提问来源于stack exchange,提问作者Saurabh Kulkarni
相关产品推荐
相关产品推荐

