У меня есть приложение NodeJS, и я пытаюсь добавить функцию «Запросить билет» на своей странице профиля пользователя. Пользователь отправляет запрос, который создает новый тикет в моем mongodb, однако, когда я отправляю запрос и пытаюсь перезагрузить страницу профиля, я теряю данные пользователя. (т.е. user.username не определено).
//User Open Ticket post
router.post('/openTicket', function(req,res,){
var userDescription = req.body.userDescription
var requestDevice = req.body.requestDevice;
var phonenumber = req.body.phonenumber;
req.checkBody('requestDevice', 'Device is required').notEmpty();
req.checkBody('userDescription', 'description is required').notEmpty();
var errors = req.validationErrors();
if(errors){
console.log('Request has errors...');
res.render('profile', {
errors: errors,
requestDevice: requestDevice,
userDescription: userDescription,
});
} else {
var phonenumber = phonenumber;
var newTicket = {
id: Math.random().toString(36).substring(2),
requestDevice: requestDevice,
userDescription: userDescription,
openDate: new Date(),
closeDate: "",
techComment: "",
status : "open",
}
db.users.update( {phonenumber: phonenumber }, {$set: {"tickets": [newTicket] } }, false, function(err, doc) {
if(err){
res.send(err);
} else {
console.log('ticket Added...');
res.render('profile');
}
});
}
});
и моя консоль
ReferenceError: C:\Users\Mikey\Desktop\itspot\views\profile.ejs:54
52| <div class="w3-display-container w3-center w3-mobile" style="height: 300px">
53| <div class="w3-display-middle w3-card-2 w3-center" style="margin-top: 25px; width: 35%" >
>> 54| <h4 class="w3-center">Welcome <%= user.username %> !</h4>
55| <p class="w3-center"><img src="../img/avatar.png" class="w3-circle" style="height:106px;width:106px" alt="Avatar"></p>
56| <hr>
57| <p> <i class="fa fa-home fa-fw w3-text-theme"></i> Zip: <%= user.zipCode %> </p>
user is not defined
at eval (eval at compile (C:\Users\Mikey\Desktop\itspot\node_modules\ejs\lib\ejs.js:633:12), <anonymous>:11:26)
at returnedFn (C:\Users\Mikey\Desktop\itspot\node_modules\ejs\lib\ejs.js:668:17)
at tryHandleCache (C:\Users\Mikey\Desktop\itspot\node_modules\ejs\lib\ejs.js:254:36)
at View.exports.renderFile [as engine] (C:\Users\Mikey\Desktop\itspot\node_modules\ejs\lib\ejs.js:485:10)
at View.render (C:\Users\Mikey\Desktop\itspot\node_modules\express\lib\view.js:135:8)
at tryRender (C:\Users\Mikey\Desktop\itspot\node_modules\express\lib\application.js:640:10)
at Function.render (C:\Users\Mikey\Desktop\itspot\node_modules\express\lib\application.js:592:3)
at ServerResponse.render (C:\Users\Mikey\Desktop\itspot\node_modules\express\lib\response.js:1012:7)
at C:\Users\Mikey\Desktop\itspot\routes\users.js:50:8
at Layer.handle [as handle_request] (C:\Users\Mikey\Desktop\itspot\node_modules\express\lib\router\layer.js:95:5)
Device Added...