【发布时间】:2018-09-06 20:34:52
【问题描述】:
我正在尝试构建一个接收 POST 请求以创建用户的 API,但我的所有 req.body 请求都收到未定义的错误。我的应用程序是这样设置的(为简洁起见):
Express Router 在我的用户路由文件中调用的用户控制器
/controllers/user.js
userController.addUser = function(req, res) {
let user = new User();
user.username = req.body.username;
user.first_name = req.body.first_name;
user.last_name = req.body.last_name;
user.email = req.body.email;
user.type = req.body.user_type
// This returns undefined as does all other req.body keys
console.log("REQ.BODY.EMAIL IS: " + req.body.email);
}
用户路由文件:
/routes/user.js - 需要上面的用户控制器
router.post('/user/create', userController.addUser);
主应用: 除了使用 req.body.* 之外,所有路由和控制器都按照我的测试工作
index.js - 主应用文件
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/api', routes);
我浏览了 Express 文档和无数 StackOverflow 帖子,但都没有运气。如果您需要进一步说明,请告诉我。
【问题讨论】:
-
我们可以看看您的发帖请求吗?
-
试试
console.log(req.body) -
@sLaks 我这样做了,这就是我发现它未定义的原因。
-
我不确定两个解析器是否并行工作
-
@crescentfresh 请同时发布您的客户端代码,该代码实际上会发布到您的网络服务器。您可能只是没有在请求中设置任何内容。
标签: javascript node.js express