Я получаю сообщение об ошибке «Не удается прочитать свойство« 0 »неопределенного» на моем экране после того, как функция .fail () запроса ajax POST получает ошибку от сервера. Вот код для почтового роутера:
router.post('/', function (req, res, next) {
var userTasks = req.body.phases[0].tasks;
var tasks = [];
for(var i=0; i<userTasks.length; i++){
var subTask = {};
subTask._id = req.body.phases[0].tasks[i].id;
subTask.name = req.body.phases[0].tasks[i].name;
subTask.comment = req.body.phases[0].tasks[i].comment;
subTask.activeTime = req.body.phases[0].tasks[i].activeTime;
tasks.push(subTask);
}
var phases = {
_id: req.body.phases[0].id,
name: req.body.phases[0].name,
description: req.body.phases[0].description,
tasks: tasks
};
var project = {
_id: req.body.id,
created: new Date(),
creator: req.body.creator,
phases: phases
};
var data = new ProjectTemplatesModel(project);
data.save(function (err) {
if (err) {
console.log(err);
if(err.name==='ValidationError'){
res.status(500);
res.send("ValidationError");
}
if(err.code===11000){
res.status(500);
res.send('duplicateProject');
}
} else {
res.status(200);
res.send("success");
}
});
});
и вот код для поста ajax:
$.ajax({
url: "/",
type: 'POST',
contentType: "application/json",
data: JSON.stringify(project)
})
.done(function(event){
console.log(event)
if(event==='success'){
window.location = '/';
}
}).fail(function(err){
console.log(err);
if('duplicateProject'){
$("#errorDiv").show();
}
if('ValidationError'){
$("#errorDiv1").show();
}
console.log('Not successful');
});
На самом деле он показывает две ошибки, которые я определил в функции .fail (), но затем сразу отображает ошибку на экране.
любая помощь приветствуется.