【发布时间】:2018-05-12 06:48:43
【问题描述】:
我只是想用 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 模型完全匹配。不过,我在终端中确实注意到的一件事是控制台日志“running post contact”出现在记录器说“POST /addContact”之前,所以我不确定这是否表明正在发生一些奇怪的事情。我目前对为什么会发生这种情况一无所知。有什么想法吗?
【问题讨论】:
-
你在用猫鼬吗?