使用Ajax发送对象数组并从Node.js服务器读取它

时间:2019-06-24 09:47:01

标签: javascript node.js ajax

我正在使用javascript,jquery和nodejs开发一个Web应用程序。 我正在尝试读取客户端请求主体的字段,该字段由对象数组和其他字段组成。我只能读取简单的文件,而不是对象数组。 客户端:

 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(<匿名>)上的原始值

0 个答案:

没有答案