在express.js中POST方法没有被调用

时间:2019-03-04 14:48:58

标签: mongodb express mongoose

我正在尝试建立一个简单的表单处理项目。 post方法没有被调用。 post方法没有输出。我不明白为什么会这样。这是什么问题? 这是我正在使用的代码。

var express = require('express');
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer();
var app = express();

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');

var personSchema = mongoose.Schema({
  name: String,
  age: Number,
  nationality: String,
});
var Person = mongoose.model('Person', personSchema);

app.get('/', function(req, res) {
  res.render('person');
});

app.set('view engine', 'pug');
app.set('views', './views');

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: false }));

app.use(upload.array());
app.use(express.static('public'));

app.post('/', function(req, res) {
  var personInfo = req.body; //Get the parsed information

  if (!personInfo.name || !personInfo.age || !personInfo.nationality) {
    res.render('show_message', {
      message: 'Sorry, you provided worng info',
      type: 'error',
    });
  } else {
    var newPerson = new Person({
      name: personInfo.name,
      age: personInfo.age,
      nationality: personInfo.nationality,
    });

    newPerson.save(function(err, Person) {
      if (err) res.render('show_message', { message: 'Database error', type: 'error' });
      else
        res.render('show_message', {
          message: 'New person added',
          type: 'success',
          person: personInfo,
        });
    });
  }
});

app.listen(3000);

我想知道如何解决此问题。 我尝试将console.log()输出记录到日志中,如果post方法被调用。但是也没有任何输出。

0 个答案:

没有答案