[英]TypeError: Cannot read property '_id' of undefined in MEAN Stack
[英]MEAN Stack: Cannot read property 'companyTitle' of undefined
我已經在MongoDB數據庫中創建了一個名為joblist
的集合。 我還創建了一個名為jobList.js的數據庫模式
var mongoose = require('mongoose');
const joblistSchema = mongoose.Schema({
companyTitle: String,
jobTitle: String,
location: String,
});
const JlSchema = module.exports = mongoose.model('JlSchema',joblistSchema,'joblist');
這是我正在使用路線的路線文件夾users.js
const jobList = require('../models/jobList');
//post joblist
router.post('/appliedjobs', function(req,res) {
console.log('posting');
jobList.create({
companyTitle: req.body.companyTitle,
jobTitle: req.body.jobTitle,
location: req.body.location
},function(err,list) {
if (err) {
console.log('err getting list '+ err);
} else {
res.json(list);
}
}
);
});
//getting joblistlist
router.get('/appliedjobs',function(req,res) {
console.log('getting list');
jobList.find(function(err,list) {
if(err) {
res.send(err);
} else {
res.json(list);
}
});
});
我已經通過使用mongodb cmd手動在數據庫中插入了一些數據。我可以通過GET
方法從
但是當我嘗試使用郵遞員post
一些數據時,發布時出現錯誤
TypeError:無法在Layer.handle處D:\\ product \\ project-1 \\ routes \\ users.js:115:28讀取未定義的屬性'companyTitle'[作為handle_request](D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ layer.js:95:5)在Route.dispatch(D:\\ product下)(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ route.js:137:13) \\ Project-1 \\ node_modules \\ express \\ lib \\ router \\ route.js:112:3)[作為handle_request](D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ layer.js :95:5)在D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:281:22在Function.process_params(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\在下一個(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:275:10)下的Router \\ index.js:335:12)在D:\\ product \\ project-1 \\ routes \\在layer.handle處的users.js:15:3 [作為handle_request](D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ layer.js:95:5)在trim_prefix(D:\\ product \\ project -1 \\ node_modules \\ express \\ lib \\ router \\ index.js:317:13)位於D:\\ product \\ project-1 \\ node_mo 接下來在Function.process_params(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:335:12)處的dules \\ express \\ lib \\ router \\ index.js:284:7(D: \\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:275:10)在Function.handle(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:174 :3)在路由器(D:\\ product \\ project-1 \\ node_modules \\ express \\ lib \\ router \\ index.js:47:12)
我不知道我的代碼有什么問題。 有人可以幫忙嗎? 我想要獲取數據並將其發布到名為joblist
集合中。
請測試需求體
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
然后在您的路由器中
router.post('/appliedjobs', function(req,res) {
console.log(JSON.parse(req.body));
})
和郵遞員套裝
“內容類型” =“應用/ JSON”
並在正文中選擇類型為
“原始”和“ JSON(application / json)”
這應該工作
您是否安裝了正文解析器?
這曾經是express的一部分,但現在您必須單獨安裝。
因此,首先安裝它:
npm install --save body-parser
然后要求它:
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.