【发布时间】:2013-07-18 23:00:46
【问题描述】:
我不确定如何使用 ajax POST 从 Jade 页面 POST 到 Node JS。如果有人可以提供示例或告诉我我的脚本中缺少什么,请告诉我。
这是脚本文件:
//Add friends
$('.addContact').click(function() {
$.post('/addContact',
{friendRequest: $(this).data('user')});
if($(this).html!=='Contact Requested') {
return $(this).html('Contact Requested');
}
});
我的 app.js 文件上的 POST 网址是:
app.post('/addContact', user.addContactPost);
如果数据库中的数据显示为 true,我正在尝试为按钮 Add Contact 上的单击事件发布 true 并将其更改为 Contact Requested。
这是玉文件:
extends layout
block content
div
legend Search Results
div#userResults
for user in ufirstName
a(href='/user/#{user.id}')
p #{user.firstName} #{user.lastName}
button.addContact Add Contact
路由文件是这样的:
exports.addContactPost = function(req, res, err) {
User.findByIdAndUpdate(req.signedCookies.userid, {
$push: {friendRequest: req.body.friendRequest}
}, function(err) {
if(err) {
console.log("post2");
return console.log('error');
//return res.render('addContactError', {title: 'Weblio'});
}
else {
console.log('postsuccess');
//alert('Contact added');
res.json({response: true});
}
});
};
【问题讨论】:
-
什么是 user.addContactPost ?
-
我把它添加到上面的文件中了。
-
你能调试一下,看看你是否达到了你的路线吗?我认为您的问题是您没有在帖子中发送任何内容。 req.body.addContact 总是未定义的。
标签: javascript node.js pug