Отправить массив объектов с помощью Ajax и прочитать его с сервера nodejs - PullRequest
0 голосов
/ 24 июня 2019

Я занимаюсь разработкой веб-приложения с использованием javascript, jquery и nodejs. Я пытаюсь прочитать поля тела запроса клиента, который состоит из массива объектов и других полей. Я могу читать только простые файлы, а не массив объектов. Клиентская сторона:

 var week = [

    { day: 'Monday', start: startMonday, end: endMonday},
    { day: 'Tuesday', start: startTuesday, end: endTuesday},
    { day: 'Wednesday', start: startWednesday, end: endWednesday},
    { day: 'Thursday', start: startThursday, end: endThursday},
    { day: 'Friday', start: startFriday, end: endFriday},

]
if (/^\s*$/.test(name) || /^\s*$/.test(professor) || /^\s*$/.test(startDate) 
|| /^\s*$/.test(endDate)  ){

    alert("You have to compile all fields");

}

else{
   // console.log(week);
    $.ajax({
        type: "POST",
        url: '/addNewCourse',
        data:  {name,professor,startDate,endDate,week},


      }).done(function(){
            showCourses();
      }); 
}

На стороне сервера я правильно прочитал имя, профессор, startDate, endDate, в то время как, если я делаю, var week = req.body.week, неделя не определена. На стороне сервера код:

app.post('/addNewCourse',function(req,res){

    console.log(req.body);
    var name =  req.body.name;
    var professor = req.body.professor;
    var startDate = req.body.startDate;
    var endDate = req.body.endDate;
    var week = req.body.week;
});

Мне нужен метод для восстановления массива недели. Я пытался использовать JSON.parse(req.body), но я получаю следующую ошибку:

TypeError: Невозможно преобразовать объект в примитивное значение в JSON.parse ()

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