当前位置: 首页 > 知识库问答 >
问题:

均值堆栈:无法读取未定义的属性“公司标题”

姬英耀
2023-03-14

我在MongoDB数据库中创建了一个名为作业列表的集合。我还创建了一个名为jobList的DB模式。js

var mongoose = require('mongoose');

const joblistSchema = mongoose.Schema({
    companyTitle: String,
    jobTitle: String,
    location: String,
});

const JlSchema = module.exports = mongoose.model('JlSchema',joblistSchema,'joblist');

这是路由文件夹用户。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方法从

http://localhost:3000/api/appliedjobs

但当我试图一些数据使用邮递员我得到的错误作为张贴

TypeError:无法读取D:\product\project-1\routes\users处未定义的属性“companyTitle”。第二层的js:115:28。在路由的下一个(D:\product\project-1\node\u modules\express\lib\router\layer.js:95:5)处(D:\product\project-1\node\u modules\express\lib\router\route.js:137:13)处理[作为句柄\u请求](D:\product\project-1\node\u modules\express\lib\router\route)。层上的调度(D:\product\project-1\node\u modules\express\lib\router\route.js:112:3)。在D:\product\project-1\node\u modules\express\lib\router\layer.js:95:5处处理[作为句柄\u请求](D:\product\project-1\node\u modules\express\lib\router\index)。js:281:22 at功能。在D:\product\project-1\node\u modules\express\lib\router\index.js:335:12的下一个(D:\product\project-1\node\u modules\express\lib\router\index.js:275:10)处理D:\product\project-1\routes\users的参数。js:15:3在第二层。句柄[作为句柄请求](D:\product\project-1\node\u modules\express\lib\router\layer.js:95:5)位于trim\u前缀(D:\product\project-1\node\u modules\express\lib\router\index.js:317:13)的D:\product\project-1\node\u modules\express\lib\router\index。js:284:7 at函数。在函数的下一个(D:\product\project-1\node\u modules\express\lib\router\index.js:335:12)处理参数(D:\product\project-1\node\u modules\express\lib\router\index.js:275:10)。在路由器(D:\product\project-1\node\u modules\express\lib\router\index.js:174:3)上处理(D:\product\project-1\node\u modules\express\lib\router\index.js:47:12)

我不知道我的代码出了什么问题。有人能帮忙吗?我希望获取数据并将其发布到名为作业列表的集合中。


共有2个答案

韦思淼
2023-03-14

你安装了主体解析器吗?

这曾经是express的一部分,但现在必须单独安装。

因此,首先安装它:

npm install --save body-parser

然后要求它:

var bodyParser = require('body-parser');
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
柯鸿云
2023-03-14

请测试req。身体

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”

在body中,选择类型为

"原始"和"JSON(应用程序/json)"

这应该行得通

 类似资料:
  • 我想有一个无限滚动的项目列表,我正在使用这个包https://github.com/CassetteRocks/react-infinite-scroller但是在留档中没有提到抓取功能的样子。 在我的代码中,它是这样的: 完整消息错误: 未捕获(promise中)类型错误:无法读取评估时未定义的属性“companys”(traineships.component.js:71) 编辑:(我不再有错

  • 为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用

  • 问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之

  • 我正在测试发送电子邮件与流星js和nodemailer插件: 流星添加捷运:流星NodeEmailer 当页面加载时,我在导航器的控制台上看到错误:无法读取未定义的属性“创建运输”。 那么问题是什么呢? 代码如下: /////////////////////////////////////////// ///////////////

  • 我知道这方面还有很多类似的问题,但没有一个答案是有效的。在我的例子中,我有下面的代码,我正在尝试按分数降序排列记录数组。 最后一个函数是什么给我的问题.如果用户运行以下: var web=[{url:“www.southanpton.ac.uk”,内容:“南安普敦大学提供学位课程和世界一流的研究测试。”,{url:“www.xyz.ac.uk”,内容:“另一种大学考试”},{url:“www”,内

  • 我一直试图让firebase与react一起工作,但出现了此错误 未经处理的拒绝(TypeError):无法读取未定义的fetch D:/Peti/Programming/node/coursewebpage/src/components/coursePage.js:12 9 | const db=firebase.firestore()10 | const myAuthLevel=(fireba