Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript API请求保存空项_Javascript_Node.js_Mongodb_Api_Express - Fatal编程技术网

Javascript API请求保存空项

Javascript API请求保存空项,javascript,node.js,mongodb,api,express,Javascript,Node.js,Mongodb,Api,Express,我试图创建一个RESTFUL API,当我试图放置一些对象并在其之后检查DB时,API保存了一个空对象,即使我已经填充了postman键值。。这是我的密码 app.js var express = require('express'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var methodOverride = require("method-override"); var

我试图创建一个RESTFUL API,当我试图放置一些对象并在其之后检查DB时,API保存了一个空对象,即使我已经填充了postman键值。。这是我的密码

app.js

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var methodOverride = require("method-override");
var model = require('./models/librosModel')
var Libro  = mongoose.model('Libro');
var LibrosCtrl = require('./libros');


// Configuración de la aplicación express
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));  
app.use(bodyParser.json());  
app.use(methodOverride());
app.use(express.static(__dirname + '/client'));
console.log('ready');

//CONFIG END

//MONGO CONFIG
mongoose.connect('mongodb://localhost:27017/libros_trading');
mongoose.connection.on('open', function(){
    console.log('Mongoose connected');
});


var usuarios = [];
var sesiones = [];





var libros = express.Router();



libros.route('/libros')
    .get(LibrosCtrl.findAllBooks)
    .post(LibrosCtrl.addBook);

libros.route('/libros/:id')  
  .get(LibrosCtrl.findById)
  .put(LibrosCtrl.updateBook)
  .delete(LibrosCtrl.deleteBook);


app.use('/api', libros);
libros.js

exports.addBook = function (req,res) {
    console.log('POST');
    console.log(req.body);

    var nuevoLibro = new Libro({
        tipo: req.body.tipo,
        nombre: req.body.nombre,
        descripcion: req.body.descipcion,
        autor: req.body.autor,
        img: req.body.img,
    });

    nuevoLibro.save(function (err,libro) {
         if(err) res.status(500).send(err);
         res.status(200).jsonp(libro); 
    });
    console.log(nuevoLibro.nombre); 
};
models/librosModel.js

var mongoose = require('mongoose');
    Schema = mongoose.Schema;


var Libro = new Schema({
        tipo: {type: String},
        nombre: {type: String},
        descripcion: {type: String},
        autor: {type: String},
        img: {type: String},
        creado: { type: Date, default: Date.now }
    });
                            //Este es el nombre que recibe en la db.collections
module.exports = mongoose.model('Libro', Libro);

尝试使用req.query而不是req.body。或者用邮递员来填尸体。并删除img:req.body.img后的逗号

exports.addBook = function (req,res) {
    console.log('POST');
    console.log(req.body);

    var nuevoLibro = new Libro({
        tipo: req.query.tipo,
        nombre: req.query.nombre,
        descripcion: req.query.descipcion,
        autor: req.query.autor,
        img: req.query.img
    });

    nuevoLibro.save(function (err,libro) {
         if(err) res.status(500).send(err);
         res.status(200).jsonp(libro); 
    });
    console.log(nuevoLibro.nombre); 
};