lernen, Express und konfrontiert mit Problem. Nachdem ich das Modul body-parser beginne, arbeite ich nicht. Alle Anforderungen sind komplizierter, Daten werden jedoch nicht analysiert.Warum POST-Anfragen nicht analysieren?
let express = require('express');
let bp = require('body-parser');
let dishRouter = require('./dishRouter');
let app = express();
let hostname = 'localhost';
let port = 8080;
dishRouter.use(bp.json()); //don't work
app.use('/dishes', dishRouter);
app.use(express.static(__dirname + '/public'));
app.listen(port, hostname, function(){
console.log(__dirname);
console.log(`Server has running at http://${hostname}:${port}`);
});
// Mein dishRouter Modul
let express = require('express');
let router = express.Router();
router.route('/')
.all(function(req, res, next){
res.writeHead(200, {'Content-type': 'text/plain'});
next();
})
.get(function(req, res, next){
res.end('We will dish for you');
})
.post(function(req, res, next){
res.end('Will add the dish:' + req.body.name + ' with details: ' + req.body.description);
})
.delete(function(req, res, next){
res.end('Deleting all dishes');
});
module.exports = router;
Sind Sie sicher, dass Sie Ihre Anfragen mit 'Content-Type sind zu senden: Anwendung/json'? Wie führen Sie die Anfragen durch? – mscdex
Ich benutze Postbote und wenn mein Code in Route Modul in einer Datei mit Hauptcode war, warks perfekt. Jetzt sind alle Anfragen Arbeit, aber nicht Body-Parser arbeiten. Kann im Exportmodul ein Problem auftreten? –
Ich entscheide mich für dieses Problem. Problem in meinem String dishRouter.use. Wie ich denke, Objekt, das zurückgegeben express.Pouter() habe keine Methode zu verwenden. Brauchen Sie schreiben: app.use (bp.json). Herausgefunden, das ist mein Fehler. Danke euch allen. –