1

我正在尝试获取已经为 POST 的服务器端查询的客户端信息。目前正在处理一个朋友按钮,当单击 POST 到路由文件时,我不确定如何获取与其关联的 user.id 并将其发送回 Node.JS。

这是一个包含每个人的 user.id 的 for 循环的翡翠文件。

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

这是路由文件:我想弄清楚在friendRequest的另一边放什么:

exports.addContactPost = function(req, res, err) {
    User.findByIdAndUpdate(req.signedCookies.userid,{
                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');

                }

            });
};

这是试图做魔术的脚本文件:

 //Add friends
     $('.addContact').click(function() {
    $.post('/addContact',
       {friendRequest: $(this).data('user')});

    if($(this).html!=='Contact Requested') {
        return $(this).html('Contact Requested');
    }
    });  
4

2 回答 2

0

试试这个:

button.addContact(onclick="addContact('#{user.id}')") Add Contact

JS:

function addContact(userId){
    $.post('/addContact', { friendRequest: userId }, function(result){
        // use result
    });
}
于 2013-07-18T06:58:24.197 回答
0

我会将 ID 存储在 Add Contact 链接中:

button.addContact(data-user=user.id) Add Contact

在处理程序中获取它

$('.addContact').click(function() {
    $.post('/addContact',
    {
       friendRequest: $(this).data('user');
    } 
    // ...
}
于 2013-07-18T11:50:19.460 回答