我刚开始使用Javascript和Node.js。 我有一个server.js。
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/swag-shop');
var Product = require('./model/product');
app.post('/product', function(request, response) {
var product = new Product();
product.title = request.body.title;
product.price = request.body.price;
product.save(function(err, savedProduct) {
if (err) {
response.status(500).send({
error: "Couldn't save product. Something is wrong!"
});
} else {
response.send(savedProduct);
}
});
});
在本文中,我指的是其他JavaScript。 (var Product = require('./model/product');)
这是这里:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var product = new Schema({
title: String,
price: Number,
likes: {type: Number, default: 0},
});
module.exports = mongoose.model('Product', product);
我想用Postman制作原型,所以我发布了这个json。
{
"title":"ubi",
"price":12.23
}
这是我得到的错误消息。
TypeError:无法在读取未定义的属性“ title” C:\ Personal \ html-css \ 11-Intro_to_Node_Mongo_and_REST_APIs \ swag-shop-api \ server.js:11:51
有什么问题吗?
答案 0 :(得分:4)
如果您要访问请求的正文,则可以使用bodyParser中间件来解析请求正文
const express = require('express');
const app = express();
app.use(express.bodyParser());
答案 1 :(得分:0)
app.use(express.json())
将其放入您的app.js