2015-02-06 2 views
0

Я пытаюсь отправить некоторые данные формы, но я получаю эту ошибку, используя express.js:Не удается установить заголовки после их отправки узел 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!!' }); 
    } 
}); 

ответ

0

консольных лесозаготовительная res.send (пользователь) вы снова представляемые. Вы можете отправлять только один раз.

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!!' }); 
    } 
}); 
+1

Чтобы быть технически точным, 'console.log (res.send (пользователь))', вероятно, первым отправить, потому что другой приходит позже, когда 'user.save()' заканчивается. Однако удаление 'console.log (res.send (user)) является правильным исправлением. – jfriend00

+0

Черт возьми, у тебя получилось .. Спасибо, чувак! –

+0

@ jfriend00, вы абсолютно правы. Зная, что происходит двойное путешествие. –

 Смежные вопросы

  • Нет связанных вопросов^_^