javascript - 如何修复'TypeError:无法读取 Javascript 中未定义的属性'标题'
问题描述
我刚开始使用 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:无法读取 C:\Personal\html-css\11-Intro_to_Node_Mongo_and_REST_APIs\swag-shop-api\server.js:11:51 处未定义的属性“标题”
知道有什么问题吗?
解决方案
如果你想访问请求体,你可以使用bodyParser中间件来解析请求体
const express = require('express');
const app = express();
app.use(express.bodyParser());
推荐阅读
- google-apps-script - 如何使用谷歌应用脚本将下拉项目添加到谷歌表单中的 checkboxgriditem 列
- mongodb - “新配置 1 中没有描述副本集 rs0 映射到此节点的主机”:Mongodb
- html - 使用 Native HTML5 Drag-And-Drop,我怎样才能让一个播放器占据多个表格单元格?
- azure-cognitive-search - 跨 37 种语言的 Azure 搜索
- cleverhans - Cleverhans 加载预训练模型
- pandas - 展平和重命名多索引聚合列
- shell - 当 shell 命令不返回任何内容时,Makefile 失败
- c - 如何使用 tcp/ip 向客户端发送二维数组;我的代码什么也没打印
- fluid - AnyLogic Fluid 动态分配储罐(可视化表示)
- r - 字符向量是由什么组成的?