如何修复';TypeError:无法读取属性';标题';未定义的';在Javascript中

如何修复';TypeError:无法读取属性';标题';未定义的';在Javascript中,javascript,node.js,mongodb,mongoose,postman,Javascript,Node.js,Mongodb,Mongoose,Postman,我刚开始学习Javascript和Node.js。 我有一个server.js var mongoose=require('mongoose'); var db=mongoose.connect('mongodb://localhost/swag-shop'); var Product=要求('./型号/产品'); app.post('/product',函数(请求、响应){ var product=新产品(); product.title=request.body.title; product

我刚开始学习Javascript和Node.js。 我有一个server.js

var mongoose=require('mongoose');
var db=mongoose.connect('mongodb://localhost/swag-shop');
var Product=要求('./型号/产品');
app.post('/product',函数(请求、响应){
var product=新产品();
product.title=request.body.title;
product.price=request.body.price;
product.save(函数(err,savedProduct){
如果(错误){
响应。状态(500)。发送({
错误:“无法保存产品。出现问题!”
});
}否则{
响应。发送(保存产品);
}
});
});
在本文中,我提到了另一个javascript<代码>(变量产品=需求('./型号/产品');)

这是:

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\u to\u Node\u Mongo\u and\u REST\u api\swag shop api\server.js:11:51


知道问题出在哪里吗?

如果希望访问请求体,可以使用中间件解析请求体

const express = require('express');
const app = express();

app.use(express.bodyParser()); 

如果希望访问请求体,可以使用中间件解析请求体

const express = require('express');
const app = express();

app.use(express.bodyParser()); 
把这个放到你的app.js中


把这个放到你的app.js中

你有没有
控制台。记录请求?错误意味着
请求。body
未定义的
。你有没有
控制台。记录请求?错误意味着
请求。body
未定义的
。它说createServer不是一个函数。TypeError:express.createServer不是function@Piplikoc,在您的示例中,使用express()而不是express.createServer():)我得到了这个错误,但我解决了它。如果有人有同样的问题,这里是解决办法。错误:大多数中间件(如bodyParser)不再与Express捆绑,必须单独安装。请看。我搜索了一下,在这里找到了答案。您应该键入
npm install express@“>=3.0.0它表示createServer不是函数。TypeError:express.createServer不是函数function@Piplikoc,在您的示例中,使用express()而不是express.createServer():)我收到了这个错误,但我解决了它。如果有人有相同的问题,这里是解决方案。错误:大多数中间件(如bodyParser)不再与Express捆绑,必须单独安装。请参阅。我搜索了它,在这里找到了解决方案。您应该键入
npm install Express@“>=3.0.0