2017-07-18 6 views
0
var express = require('express'); // Express instance to access its 
var path = require('path'); 
var mongoose = require("mongoose"); // mongodb ODM 

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

app.set('port', process.env.PORT || 3000); // 
app.use(express.static(path.join(__dirname, 'node_modules'))); 

mongoose.connect(config.MONGO_DB_URI, function(error){ 
    if (error) { 
     console.log("Oops! Connection Failed! " + error); 
    } else { 
    console.log("Ahoy! Connection Successful with Mongo!"); 
    } 
}); 


app.use('/api', function(req, res){ 
    console.log("dasasasa"); 
    console.log(req.body); 
}); 

module.exports = app; 

wenn ich req.body log es ist ein leeres Objekt {}. Auch die Version von Körper-Parser ist:NodeJS Körper-Parser nicht in der Lage Daten zu erhalten

npm body-parser -v 
2.15.9 

Was kann ich hier fehlt?
Auch ich versuche es mit Postboten.

+0

Sind Sie absolut sicher, dass Sie Ihre Anfrage Daten einrichten im Briefträger richtig? – Lazyexpert

+0

hey es hat geklappt wenn ich es x-ww.form-urlencodiert habe, hab es aber nicht verstanden –

Antwort

0

Das Objekt bodyParser macht verschiedene Fabriken verfügbar, um Middlewares zu erstellen. Alle Middlewares füllen die req.body-Eigenschaft mit dem analysierten Textkörper, wenn der Header der Content-Type-Anfrage der type-Option entspricht, oder ein leeres Objekt ({}), wenn keine zu analysierende Textstelle vorhanden war oder der Content-Type nicht übereinstimmt ein Fehler ist aufgetreten.

Stellen Sie sicher, Sie etwas verwenden wie:

Client.js:

$.ajax({ 
    type: "POST", 
    url: '/yourRoute', 
    data: data, 
    dataType: dataType, 
    success: function(data) { 
     //do something 
    } 

}); 

und server.js

app.use('/yourRoute', function(req, res) { 
    console.log(req.body) // should be data from client 
}) 
Verwandte Themen