2017-11-28 10 views
0

jQuery를 사용하여 양식의 기본 프런트 엔드 유효성 검사를 한 다음 $ .post를 백엔드에 저장하면 저장됩니다. 내 데이터베이스.내가 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