我想使用express node.js和iOS客户端获取帖子中的正文值。这是我的服务器代码:
app.post('/user', function (req, res) {
console.log(req.body)
console.log(req.body.firstName)
})
在客户端上,这是我正在使用json主体的内容:
let json = ["firstName": "First Dude",
"lastName": "Last dude"]
let body = try! JSONSerialization.data(withJSONObject: json, options: [])
当我击中终点时,我得到:
{ '{"lastName":"Last dude","firstName":"First Dude"}': '' }
undefined
哪个键看起来像是整个json正文,值是空的。
req.body.firstName
也未定义。
如何使用主体解析器从键中获取值?
答案 0 :(得分:1)
我不知道到底是什么
models.User
是吗?
但是在这一部分:
app.post('/user', function (req, res) {
console.log(req.body)
console.log(req.body.firstName)
var user = models.User.create({
firstName: req.body.firstName,
lastName: req.body.lastName,
id: uuidV1(),
});
res.send(user.toJSON())
})
您应该写
res.json(user.toJSON())
代替
res.send(user.toJSON())
答案 1 :(得分:0)
我需要将内容类型添加到请求和request.setValue(application/json, forHTTPHeaderField: "Content-Type")
中。
app.use(bodyParser.json({ type: 'application/json' }))
export abstract class Router {
}