gpt4 book ai didi

javascript - POST 请求未收到 JSON 数据?

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:07 27 4
gpt4 key购买 nike

我正在尝试使用 post 请求将数据插入数据库,如下所示

127.0.0.1:3000/api/users?fname=asd&lname=edc&emailid=asdas.asds@gmail.com&userpass=dasd

但是在数据库中输入了空白数据。我使用 MongoDB 作为数据库。

我使用 AJAX 请求执行此操作,以下是我正在使用的代码

addUser(dataUser){
console.log("Adding user:", dataUser);
$.ajax({
type: 'POST', url: '/api/users', contentType: 'application/json',
data: JSON.stringify(dataUser),
success: function(data) {
console.log("check it");
}.bind(this),
error: function(xhr, status, err) {
// ideally, show error to user.
console.log("Error adding bug:", err);
}
});
}

这是nodeJS文件中的mt POST方法

app.post('/api/users', function(req,res){
console.log("Req body:", req.body);
var newUser = req.body;
db.collection("Users").insertOne(newUser, function(err, result) {
var newId = result.insertedId;
db.collection("Users").find({_id: newId}).next(function(err, doc) {
res.json(doc);
});
});
});

我检查了 dataUser 变量在转换为 JSON 后给出了正确的值,但仍在 nodeJS 代码中我得到了空白 JSON 数据

最佳答案

要使用express从req获取正文,您将需要使用npm install body-parserbody-parser模块,因为body-parser模块已从最近版本的express中删除。

添加此依赖项后,您需要在 Nodejs 文件中添加这些行。

var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({
extended: true
}));

app.use(bodyParser.json());

引用

如果有帮助请告诉我。

关于javascript - POST 请求未收到 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com