我试图在注册并登录后为用户发布一些数据,我尝试在我的控制台中输出它,但我看到的是控制台中req.body的意外输出。这是我发送的数据的屏幕截图。 postman request
这是控制台中的输出 console output
这是api的这一部分的代码。
// @route POST api/profile
// @desc Create or edit user profile
// @access Private
router.post(
'/',
passport.authenticate('jwt', { session: false }),
(req, res) => {
const { errors, isValid } = validateProfileInput(req.body);
console.log(req.body);
//console.log(req.body.skills);
// Check Validation
if (!isValid) {
// Return any errors with 400 status
return res.status(400).json(errors);
}
// Get fields
const profileFields = {};
profileFields.user = req.user.id;
if (req.body.handle) profileFields.handle = req.body.handle;
if (req.body.company) profileFields.company = req.body.company;
if (req.body.website) profileFields.website = req.body.website;
if (req.body.location) profileFields.location = req.body.location;
if (req.body.bio) profileFields.bio = req.body.bio;
if (req.body.status) profileFields.status = req.body.status;
if (req.body.githubusername)
profileFields.githubusername = req.body.githubusername;
// Skills - Spilt into array
if (typeof req.body.skills !== 'undefined') {
profileFields.skills = req.body.skills.split(',');
console.log(req.body.skills);
}
// Social
profileFields.social = {};
if (req.body.youtube) profileFields.social.youtube = req.body.youtube;
if (req.body.twitter) profileFields.social.twitter = req.body.twitter;
if (req.body.facebook) profileFields.social.facebook = req.body.facebook;
if (req.body.linkedin) profileFields.social.linkedin = req.body.linkedin;
if (req.body.instagram) profileFields.social.instagram = req.body.instagram;
Profile.findOne({ user: req.user.id }).then(profile => {
if (profile) {
// Update
Profile.findOneAndUpdate(
{ user: req.user.id },
{ $set: profileFields },
{ new: true }
).then(profile => res.json(profile));
} else {
// Create
// Check if handle exists
Profile.findOne({ handle: profileFields.handle }).then(profile => {
if (profile) {
errors.handle = 'That handle already exists';
res.status(400).json(errors);
}
// Save Profile
new Profile(profileFields).save().then(profile => res.json(profile));
});
}
});
}
);
可以在https://github.com/kolaveridi/socialnetwork上看到整个代表 为什么我在主要问题上在控制台中看到两次技能?