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

Express 4 HTTP请求:user._id未定义

翁烨霖
2023-03-14

我正在编写一个简单的Express应用程序来处理图像上传和搜索。上传工作正常,但相同的req.user._id在get请求中无效。知道为什么吗?

//standard express-generator server.js requires
//passport.js implementation

 var session      = require('express-session');
 app.use(session({
   secret: '*****',
   proxy: true,
   resave: true,
   saveUninitialized: true
  }));

post函数使用Multer中间件可以很好地工作。它使用req.user._id时没有任何问题--我已经检查了它是否上传到了数据库。

app.post('/upload/photoData', upload.single('photo'), function(req, res) {

    //Retrieve data from request using multer middleware objects
    var title = req.body.title;
    var description = req.body.description;
    var photoURL = req.file.filename;
    var date = new Date();
    var user_id = req.user._id;

    //Code to create Mongoose photo model instance using variables above and save


});

在我测试了一个返回以下错误的get函数后,立即返回了以下错误:TypeError:无法读取未定义的属性'_id'

app.get('/file/newCalendar', function(req, res) {

  var selectedDate = moment(req.query.m)//moment(req.query.m);
  var selectedMonth = selectedDate.month()//selectedDate.month();
  var user_idLookup = req.query.v;
    if(!user_idLookup){
      user_idLookup = req.user._id;
    };

    jsontest = {
      'selectedDate': selectedDate,
      'selectedMonth': selectedMonth,
      'user': user_idLookup
    };
})

共有1个答案

訾旭
2023-03-14

我现在觉得自己很蠢。未定义Req.User,因为我在登录/序列化User之前手动提交了GET请求!

 类似资料:
  • 我尝试了拉雷维尔的入门指南。通用域名格式。 有一章创建了任务。回调和函数

  • 我想根据文档从控制器调用Laravel重定向 https://laravel.com/docs/5.6/redirects#redirecting-controller-actions 但我得到了这个错误: 未定义[/gosterge_paneli]。 下面是我的代码的样子 布局刀身php web.php

  • 我正在尝试从JavaScript应用程序向另一个应用程序中的endpoint进行API调用。 当我调用endpoint时,我得到了状态代码和消息,但我无法以任何方式访问响应体。我已经尝试了不同的方法来获取数据,但似乎没有一种方法对我有效。 在方法“someAction”中,我想使用来自API调用的响应/结果中的数据。我在代码中添加了单个日志行打印的输出。 如何在定义“result.status/m

  • 编辑:我在这里不问任何关于cors的问题 所以我花了几个小时试图弄清楚发生了什么,嗯...我失去了它... 所以我有一个简单的应用程序,服务器部分用nodejs制作,前端用react制作,它们运行在不同的端口上,所以我使用了cors模块。 而res2是未定义的。 我错过了什么?

  • 问题内容: 有一个第三方应用程序需要通过自定义的HTTP标头获取信息,因此我编写了一个简单的测试应用程序,该应用程序创建了此标头,然后重定向到列出所有标头的页面。 生成标头的servlet片段为: 另一方面,来自header.jsp的相关代码是: 显示以下标题: 好像从未插入过自定义标头。我该如何解决? 谢谢 问题答案: 通过 重定向, 您基本上是在指示客户端(网络浏览器)触发全新的HTTP请求。

  • 我不熟悉Laravel框架,现在在尝试更新记录的用户信息时遇到了一个问题。 路线: 错误: UsersController中的FatalErrorException。php第24行:调用未定义的方法Illumbite\Support\Facades\Request::input()