@deadkEEper1

Почему не могу запушить в базу данных объект методом post, с get все работает на ура?

var express = require('express');
var mongoose = require('mongoose');
mongoose.connect('localhost:/testDb')
var Schema = mongoose.Schema;
var usersSchema = new Schema({name: String});
var User = mongoose.model('users', usersSchema);
var app = express();


app.get('/', function(req,res){
    res.send('hello');
})

app.get('/users',function(req, res){
    mongoose.model('users').find({}, {_id: false}, function(err, users){
        res.send(users);
    })
})

app.post('/adduser/:name', function(req, res){        //Не работает пост-метод. С get все отлично
    var name = req.params.name;
    var user = new User({name: name}).save();
    res.send(name + ' was added to DB');
})



var server = app.listen(3030);
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
Scorpi
@Scorpi
Работа с данными переданными через POST немного сложнее чем с GET
Установите body-parser
$ npm install --save body-parser

Потом включите middleware
var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // для поддержки JSON
app.use(bodyParser.urlencoded({     // для поддержки URL кодировки
  extended: true
}));

и потом используйте ваши параметры через req.body
pp.post('/test-page', function(req, res) {
    var name = req.body.name,
        color = req.body.color;
    // ...
});


Оригинальный ответ на StackOverflow: stackoverflow.com/questions/5710358
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы