2017-03-27 31 views
1

私はPOSTリクエストでJSONデータが受信されませんでしたか?

127.0.0.1:3000/api/users?fname=asd&lname=edc&[email protected]&userpass=dasd 

が、ブランクデータが入力されたデータベース内に次のようにポストの要求を使用してデータベースにデータを挿入しようとしています。私はMongoDBをデータベースとして使用しています。

私は、次の本使用してAJAX要求をしています私は、これはnodeJSでのMT POSTメソッドである

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); 
    } 
}); 
} 

を使用していたコードが

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コードで、私はとREQから体を取得するためのブランクJSONデータ

+0

「req.body」には何が入っていますか? – abdulbarik

+0

ユーザーの資格情報 – AviatorX

答えて

0

を取得していますが、あなたがbody-parser MODULが必要になります表現しますe npm install body-parserとしてbody-parserモジュールを使用しました。最近のリリースexpressから削除されました。

この依存関係を追加した後、これらの行をnodejsファイルに追加する必要があります。

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

app.use(bodyParser.json()); 

は、それが助け場合、私に教えてください

を参照してください。

+0

ありがとう私はbody-parserを使用していません。それは働いた – AviatorX

+0

あなたを助けて嬉しい:) – Samarth

+0

あなたが親指を与えることができ、これを有用とマークすることができれば感謝します。 @AviatorX – Samarth

0
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); 
    }); 
}); 
}); 
関連する問題