二方法調用什麼,我試圖完成的簡要概述:製作在同一請求
在前端,用戶能夠編輯他們的帳戶與使用形式的信息。然後,無論有多少個字段被編輯/觸摸,該表單都會發送到相同的HTTP請求。
我的想法是,請求會處理要編輯的字段。除了我不確定如何返回確認數據外,這種邏輯對我來說聽起來很合理。例如,它將如何知道所有請求何時完成/要顯示哪些確認和錯誤消息。
//Change information route
router.post('/changeinformation', passport.authenticate('jwt', {session: false}), (req, res, next) => {
const changeInfo = {
changeEmail: req.body.changeEmail,
changeUsername: req.body.changeUsername
};
if(changeInfo.changeUsername === true) {
const userInfo = {
email: req.body.email,
currentEmail: req.body.currentEmail
};
Artist.getArtistByEmail(userInfo.email, (err, user) => {
if (err) throw err;
if (user) {
return res.json({success: false, msg: 'Email already exists'});
}
else {
Artist.changeEmail(userInfo, (err, callback) => {
if (callback) {
console.log(callback);
return res.json({success: true, msg: 'Email has been changed successfully'});
}
});
}
});
}
if(changeInfo.changeUsername === true) {
//Checks if username exists
const nameInfo = {
name: req.body.name,
currentName: req.body.currentName
};
Artist.getArtistByName(userInfo.name, (err, user) =>
{
if (err) throw err;
if (user) {
return res.json({success: false, msg: 'Name already exists'});
}
else
{
Artist.changeName(userInfo, (err, callback) => {
if(callback)
{
console.log(callback);
return res.json({success: true, msg: 'Name has been changed successfully'});
}
});
}
});
}
});
我很抱歉,如果這對一些人來說似乎很明顯。我仍然在學習,我不確定如何處理這個問題。謝謝
這正是我一直在尋找的。我知道我做這件事的方式有些根本錯誤。謝謝 –