不知道我为什么要获得500状态快递/ jQuery帖子

时间:2017-11-28 17:48:58

标签: jquery forms express post

我只是尝试使用jQuery在表单上进行一些基本的前端验证,然后将$ .post发送到后端,这将把它保存到我的数据库中。

这是我的前端代码 -

    $('#addContact').submit(function(event) {
      event.preventDefault();
      var contact = {};
      contact.firstName = $('#first_name').val().trim();
      contact.lastName = $('#last_name').val().trim();
      contact.company = $('#company').val().trim();
      contact.birthday = $('#birthday').val().trim();
      contact.twitterHandle = $('#twitter').val().trim();
      contact.interests = interests;
      console.log('posting', contact);

      $.post( "/addContact", contact)
        .done(function( data ) {
        alert( "Data Loaded: " + data );
      });
    });

在我的后端

    router.post('/addContact', function(req, res) {
      console.log('running post contact');
      var newContact = new Contact(temp);
      newContact.save(function(err, doc) {
        if(err) {
            console.log(err);
        } else {
            console.log('Added contact!');
            console.log(doc);
        }
     });
     res.end('It Worked');
    });

我一直收到500错误。我检查了前端,联系对象与db模型完全匹配。我在终端中注意到的一件事是,在记录器显示“POST / addContact”之前,控制台日志“运行后联系”出现,所以我不确定这是否表明发生了奇怪的事情。我目前还不知道为什么会发生这种情况。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您必须使用req.body对象才能检索提交的数据,然后您可以使用此数据创建新的猫鼬实例

这一行:

 var newContact = new Contact(temp);

将其更改为:

 var newContact = new Contact(req.body);