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

使用pdfmake生成PDF时Postman返回undefined问题求助

解决pdfmake接口返回undefined的问题

你遇到的undefined问题是因为服务器没有正确解析JSON格式的请求体,导致req.body.fname和req.body.lname无法获取到传入的值。


1. 修复app.js中的body-parser配置

你的app.js里,body-parser中间件代码被注释,且仅配置了x-www-form-urlencoded格式的解析,无法处理Postman发送的JSON请求体。需要做以下修改:

  • 取消注释body-parser相关代码
  • 添加bodyParser.json()中间件,用于解析JSON格式的请求体

修改后的app.js代码:

const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');

const port = 9003;

const app = express();

// 设置静态文件夹
app.use(express.static(path.join(__dirname, 'public')));

// 配置body-parser中间件,同时支持urlencoded和JSON格式
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json()); // 新增该行,解析JSON请求体

// 首页路由
app.get('/', (req, res) => {
  // res.send('Hello World');
  res.sendFile(path.join(__dirname, 'index.html')); // 推荐用sendFile,sendfile已废弃
});

const pdfRoute = require('./routes/pdfmake');
app.use('/pdfMake', pdfRoute);

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

2. 验证Postman请求设置

确保Postman的请求配置正确:

  • 请求方式为POST,地址填写http://localhost:9003/pdfMake/pdf
  • Body选择raw,格式切换为JSON
  • 请求体内容:
{ "fname": "test", "lname":"run" }
  • 保留自动生成的Content-Type: application/json请求头,不要删除或修改

3. 测试验证

重启服务器后重新发送请求,PDF内容将正确显示为Hello test run, 'Nice to meet you!'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:05:11