因此,如果 user.id 已存在于friendRequest 数组中,我将尝试禁用添加联系人按钮。但是,由于某种原因,代码没有按照预期的方式工作,并且没有任何内容被禁用。请帮忙。
路线文件:
exports.addContact = function(req, res, err) {
console.log('route add');
User.findById(req.signedCookies.userid, function(err, user) {
if (err) {
res.send(err);
} else {
if({ friendRequest: user.id, $exists: true }) {
return true;
console.log('route add true');
} else {
res.send(err);
}
}
})
};
exports.addContactPost = function(req, res, err) {
User.findByIdAndUpdate(req.signedCookies.userid, {
$push: {friendRequest: req.body.friendRequest}
}, function(err) {
if(err) {
console.log("post2");
console.log(err);
return console.log('error');
//return res.render('addContactError', {title: 'Weblio'});
}
else {
console.log('postsuccess');
//alert('Contact added');
res.json({response: true});
}
});
};
脚本文件:
//see if friend exists if not friend request exist if not user sent request
$('.addContact').ready(function() {
$.get('/addContact',
{friendRequest: $(this).data('user')});
if($(this)===true) {
return $(this).attr('disabled', 'disabled').html('Contact Requested');
};
console.log(this);
});
//Add friends
$('.addContact').click(function() {
$.post('/addContact',
{friendRequest: $(this).data('user')});
if($(this).html!=='Contact Requested') {
return $(this).attr('disabled', 'disabled').html('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(data-user=user.id) Add Contact
目前,用户被添加到数组中,并且在我的第二个脚本中,它将按钮的属性变为禁用,但我没有尝试执行 ajax 获取来查看用户是否存在于friendRequest 数组中。不会调用 console.log('route add true')。