Не удалось прочитать свойство '0' из неопределенного в сообщении ajax - PullRequest
0 голосов
/ 18 марта 2019

Я получаю сообщение об ошибке «Не удается прочитать свойство« 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 (), но затем сразу отображает ошибку на экране.

любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...