如何在Jade for Node.js中从js脚本中获取数据

How to grab data from a js script in Jade for Node.js?

本文关键字:js 中从 脚本 获取 数据 Node Jade for      更新时间:2023-09-26

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

这里的jade文件包括一个for循环,其中包含每个人的user.id。

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,{
                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');
    }
    });  

我会将ID存储在添加联系人链接中:

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

Amnd get it in handler

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

试试这个:

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

JS:

function addContact(userId){
    $.post('/addContact', { friendRequest: userId }, function(result){
        // use result
    });
}