Express.js POST req не определено - PullRequest
0 голосов
/ 14 октября 2019

Мне нужно сделать POST-запрос к серверу, чтобы поместить некоторые данные в базу данных через Express и Sequelize

var express = require('express'),
    http = require('http'),
    path = require('path'),
    Sequelize = require('sequelize'),
    bodyParser = require('body-parser'),
    _ = require('lodash');

sequelize = new Sequelize('sqlite://' + path.join(__dirname, 'invoices.sqlite'), {
  dialect: 'sqlite',
  storage: path.join(__dirname, 'invoices.sqlite')
});

Invoice = sequelize.define('invoices', {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  customer_id: {
    type: Sequelize.INTEGER
  },
  discount: {
    type: Sequelize.DECIMAL
  },
  total: {
    type: Sequelize.DECIMAL
  }
});

var app = module.exports = express();
app.set('port', process.env.PORT || 8000);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));

app.route('/api/invoices')
  .post(function(req, res) {
    let invoice = Invoice.build(_.pick(req.body, ['customer_id', 'discount', 'total']));
    invoice.save().then(function(invoice){
      res.json(invoice);
    });
  });

Но, при получении с помощью POST-запроса, undefined приходит как req. Тело запроса на выборку не равно нулю, я его проверил.

1 Ответ

0 голосов
/ 17 октября 2019
    app.post('/api/invoices',
      (function(req, res) {
        let invoice = Invoice.build(_.pick(req.body, ['customer_id', 'discount', 'total']));
        invoice.save().then(function(invoice){
          res.json(invoice);
        });
      });

не использовать маршрут ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...