我不确定我是否传回一个正确形成的JSON数组来做我想做的事情。我试图解析它失败了所以我想我会在这里问。
{"email":"myemail@email.com","teamname":"Team1","team":"[object Object],[object Object],[object Object]"}
我似乎无法JSON.stringify(req.params.team)
undefined
对于JSON.Stringify(req.params.team [0])我得到了
undefined
或者有时我会
"["
我可以在发回之前看到DOM中的数据。看起来不错。我是否已经发回了一个形成错误的参数,或者我是否有某种方法可以将这些JSON数据分解为团队内容,以便我可以正确地插入到我的数据库中?任何帮助将不胜感激。在一个漫长的周末,如果可能的话,想要完成这个插入。谢谢!
****** ******解决
我忘了使用我的身体解析器并且没有发送帖子。我将我的fetch切换到了一个获取帖子(我在前端使用REACT)。这是有效的。谢谢@Avi
fetch(`/team/`,{
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: this.context.user.email,
teamName: this.state.value,
team: this.state.selected,
})
})
我的中间件(简化版)就是这样,我可以看到我得到了什么。
app.post('/eventerteam/', function (req, res) {
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::email "+ (req.body.email));
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::teamName "+ (req.body.teamName));
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::team "+ JSON.stringify(req.body.team));
})
答案 0 :(得分:2)
假设您发送了Content-type: application/json
的POST请求
您应该使用body-parser
中间件从请求中提取JSON对象,如下所示:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.post('/teams', function(req, res){
var teamsObject = req.body;
});