Javascript 发送到节点js后无法设置标头

Javascript 发送到节点js后无法设置标头,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我试图发送一些表单数据,但使用express.js时出现以下错误: 发送邮件后无法设置邮件头 这是我目前的代码: app.post('/api/users/profile/:username', isAuthenticated, userUploads, function(req, res, next) { if (req.params.username) { User.findOne({ username: req.params.username }, function

我试图发送一些表单数据,但使用express.js时出现以下错误:

发送邮件后无法设置邮件头

这是我目前的代码:

app.post('/api/users/profile/:username', isAuthenticated, userUploads, function(req, res, next) {
    if (req.params.username) {
        User.findOne({ username: req.params.username }, function(err, user) {
            if (err) return next(err);
            user.profile.name = req.body.name;
            user.profile.gender = req.body.gender;

            var files = req.files.file;
            if (files){
                if (files.length > 0){
                    for (f in files){
                        user.profile.pictures.push(files[f])
                    }
                }else{
                    user.profile.pictures.push(files)
                }
            }
            user.save(function(err) {
                if (err) return next(err);
                res.send(200);
            });

            console.log(res.send(user)) //HERE IS WHERE I GET THE ERROR

        });
    }else{
        return res.send(400, { message: 'User does not exist!!' });
    }
});

通过控制台记录res.senduser,您将再次发送。您可以发送一次,也只能发送一次

app.post('/api/users/profile/:username', isAuthenticated, userUploads, function(req, res, next) {
    if (req.params.username) {
        User.findOne({ username: req.params.username }, function(err, user) {
            if (err) return next(err);
            user.profile.name = req.body.name;
            user.profile.gender = req.body.gender;

            var files = req.files.file;
            if (files){
                if (files.length > 0){
                    for (f in files){
                        user.profile.pictures.push(files[f])
                    }
                }else{
                    user.profile.pictures.push(files)
                }

            }
            user.save(function(err) {
                if (err) return next(err);
                res.status(200).send(user);
            });

        });
    }else{
        return res.send(400, { message: 'User does not exist!!' });
    }
});

从技术上讲,console.logres.senduser可能是第一个发送,因为当user.save完成时,另一个会在后面发送。删除console.logres.senduser是正确的修复方法。该死的,你找到了。。谢谢你,伙计@jfriend00,你完全正确。知道发生db往返。