【问题标题】:How to grab data from a js script in Jade for Node.js?如何从 Jade for Node.js 中的 js 脚本中获取数据?
【发布时间】:2013-07-16 22:44:21
【问题描述】:

我正在尝试获取已经为 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

这里是路由文件:我想弄清楚在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');
    }
    });  

【问题讨论】:

    标签: javascript jquery node.js pug


    【解决方案1】:

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

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

    在处理程序中获取它

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

    【讨论】:

    • 好吧,这似乎可行,但我在使用 $push: {friendRequest: req.body.friendRequest} 将请求推送到friendRequest数组时遇到问题,它显示路线中有错误文件(我在函数中设置的错误)
    【解决方案2】:

    试试这个:

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

    JS:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2015-01-03
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 2021-09-14
      相关资源
      最近更新 更多