为什么POST's请求不能解析

Why POST's requests don't parse?

本文关键字:请求 不能 POST 为什么      更新时间:2023-09-26

学会表达和面对问题。在我创建模块后,body-parser开始不工作。所有的请求都完成了,但是数据没有被解析。

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

//My dishRouter模块

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;

如本例休息后错过发送:

app.route('/book')
  .get(function(req, res) {
    res.send('Get a random book');
  })
  .post(function(req, res) {
    res.send('Add a book');
  })
  .put(function(req, res) {
    res.send('Update the book');
  });