2017-11-28 12 views
0

私はちょうどjQueryを使ってフォームのいくつかの基本的なフロントエンドの検証を行い、$ postをバックエンドにポストして保存します私のdb。なぜ私は500ステータスエクスプレス/ jQueryポストを得ているのか分からない

これは私のフロントエンドコードである -

$('#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"と言う前にコンソールログ "running post contact"が表示されているので、奇妙なことが起こっているかどうかわかりません。私は現在、なぜこのことが起こっているのかは分かりません。何か案は?

+0

あなたはマングースを使用していますか? – YouneL

答えて

0

にこの行あなたが提出されたデータを取得するためにreq.bodyオブジェクトを使用する必要があり、その後、あなたは新しいマングースのインスタンスを作成するには、このデータを使用することができます。

:へ

var newContact = new Contact(temp); 

が変更に

var newContact = new Contact(req.body); 
+0

あなたは間違いなく、私の部分では非常に愚かなエラーです。ありがとうございました!これは私を壁に追いやっていたが、 – bjk116

関連する問題