Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
Javascript Node.js和Express.js错误:Can';t在发送邮件后设置邮件头_Javascript_Node.js_Http_Cookies_Express - Fatal编程技术网

Javascript Node.js和Express.js错误:Can';t在发送邮件后设置邮件头

Javascript Node.js和Express.js错误:Can';t在发送邮件后设置邮件头,javascript,node.js,http,cookies,express,Javascript,Node.js,Http,Cookies,Express,我是node land的新手,我有一个类似下面的例子,我首先想设置一个cookie,然后重定向到其他url。但是我得到一个错误-未处理的拒绝错误:发送头后无法设置头 user_details = [req.body.user_name, req.body.user_email, req.body.user_contact, req.body.route_id]; var user_details_str = JSON.stringify(user_details); res.cookie('us

我是node land的新手,我有一个类似下面的例子,我首先想设置一个cookie,然后重定向到其他url。但是我得到一个错误-
未处理的拒绝错误:发送头后无法设置头

user_details = [req.body.user_name, req.body.user_email, req.body.user_contact, req.body.route_id];
var user_details_str = JSON.stringify(user_details);
res.cookie('user_details', user_details_str, {maxAge : 7 * 24 * 3600000, httpOnly:false});
res.redirect('/route1');
我经历了这些,了解到
res.redirect()
正试图重写标题,但不知道如何解决这个问题

编辑:完整的代码

router.post('/register', encryptor.encryptUserPassword, function(req, res, next) {
  req.body.confirmed = false;

  Models.users.create(req.body).then(function(user) {


    user_details = [req.body.user_name, req.body.user_email, req.body.user_contact, req.body.route_id];
    var user_details_str = JSON.stringify(user_details);
    res.cookie('user_details', user_details_str, {maxAge : 7 * 24 * 3600000, httpOnly:false});

    user.user_pass = '';
    sess = res.session;
//    sess.email = user.user_email;
    Models.user_ride.create({user_id:user.user_id,route_id:req.body.route_id}).then(function(userroute){
        res.send(user);
    });

    res.redirect('/route1');
  }).error(function(err) {
    res.send(err);
  }).catch(Sequelize.ValidationError, function(err) {
    res.send(err);
  });
});

问题在于这一部分:

Models.user_ride.create({user_id:user.user_id,route_id:req.body.route_id}).then(function(userroute){
    res.send(user);
});

res.redirect('/route1');

您使用
res.send()
发送响应,并使用
res.redirect()
执行重定向。您需要选择其中一个。

问题在于这一部分:

Models.user_ride.create({user_id:user.user_id,route_id:req.body.route_id}).then(function(userroute){
    res.send(user);
});

res.redirect('/route1');

您使用
res.send()
发送响应,并使用
res.redirect()
执行重定向。您需要选择其中一个。

您发布的代码没有问题,因此我猜您没有显示所有相关代码。请尝试
返回res.redirect('/route1')
@robertklep在edit中发布了完整的代码。您发布的代码没有问题,因此我猜您没有显示所有相关的代码。请尝试
返回res.redirect('/route1')
@robertklep在edit中发布了完整的代码。