Я занимаюсь разработкой веб-приложения с использованием 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 ()