Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 快速会话:为什么在设置我的会话信息之前执行重定向?_Node.js_Express_Session Cookies_Express Session - Fatal编程技术网

Node.js 快速会话:为什么在设置我的会话信息之前执行重定向?

Node.js 快速会话:为什么在设置我的会话信息之前执行重定向?,node.js,express,session-cookies,express-session,Node.js,Express,Session Cookies,Express Session,还有一个“我刚开始学习node.js/express,现在我被困在这里了”的人。我试着到处寻找答案,但已经走到了死胡同。这是我的第一个问题,所以请告诉我我是否做了一些错误或非常规的事情 我试图创建一个POST请求,将用户对象保存到express会话(在MongoDB上),并将您重定向到处理会话信息的URL 问题是,在设置标头之前,用户被重定向,我得到以下信息: 错误:发送邮件后无法设置邮件头。 这是我的密码。我知道这是很多。。对不起 http://www.post/) 注意“req.sessio

还有一个“我刚开始学习node.js/express,现在我被困在这里了”的人。我试着到处寻找答案,但已经走到了死胡同。这是我的第一个问题,所以请告诉我我是否做了一些错误或非常规的事情

我试图创建一个POST请求,将用户对象保存到express会话(在MongoDB上),并将您重定向到处理会话信息的URL

问题是,在设置标头之前,用户被重定向,我得到以下信息:
错误:发送邮件后无法设置邮件头。

这是我的密码。我知道这是很多。。对不起

http://www.post/) 注意“req.session.user=userObj”部分。在这里,我试图将会话中的“user”设置为从MongoDB检索到的user对象。在下一行中,我将用户重定向回“/”的GET请求处理程序,该处理程序根据会话信息处理用户

由于某些原因,这些事情并没有按顺序发生。GET请求处理程序找不到req.session.user


我知道node.js完全是关于异步的,但从我在网上找到的其他示例来看,这应该是可行的。我在这里遗漏了什么?

保存会话后,您可以将重定向放在回调中,例如:

...

// Set 'req.session.user' as cookie
req.session.user = userObj;
req.session.save(function(err) {
  // session saved
  res.redirect('/')
})

...
希望这能确保用户只在会话保存后被重定向


注意:请确保使用诸如或pbkdf2之类的内容散列密码。

保存会话后,您可以将重定向放入回调中,例如:

...

// Set 'req.session.user' as cookie
req.session.user = userObj;
req.session.save(function(err) {
  // session saved
  res.redirect('/')
})

...
希望这能确保用户只在会话保存后被重定向

注意:请确保使用类似或pbkdf2的内容散列您的密码