Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript POST请求时未收到JSON数据?_Javascript_Json_Node.js_Mongodb_Serve - Fatal编程技术网

Javascript POST请求时未收到JSON数据?

Javascript POST请求时未收到JSON数据?,javascript,json,node.js,mongodb,serve,Javascript,Json,Node.js,Mongodb,Serve,我试图使用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({

我试图使用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);
   });
 });
});

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

要使用express从req获取正文,您需要使用
npm安装正文解析器
模块,因为
正文解析器
模块已从最新版本的中删除
express

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

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

app.use(bodyParser.json());
提及


如果有帮助,请告诉我。

要使用express从req获取正文,您需要使用
npm安装正文分析器
模块,因为
正文分析器
模块已从最新版本的
express
中删除

app.post('/api/users', function(req,res){
 console.log("Req body:", req.body);

 //parse json string
 var newUser = JSON.parse(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);
   });
 });
});
添加此依赖项后,需要在nodejs文件中添加这些行

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

app.use(bodyParser.json());
提及


让我知道它是否有帮助。

你在
req.body
中得到了什么?用户证书你在
req.body
中得到了什么?用户证书很高兴帮助你:)如果你能竖起大拇指并将其标记为有用,我将不胜感激@AviatorX很高兴能帮助您:)如果您能竖起大拇指并将其标记为有用,我将不胜感激@航空公司
app.post('/api/users', function(req,res){
 console.log("Req body:", req.body);

 //parse json string
 var newUser = JSON.parse(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);
   });
 });
});