首页 > 解决方案 > 尝试使用 jquery 将 id 传递给 nodejs

问题描述

我正在尝试在我的应用上设置好友请求。因为我知道通过 req.user 登录的用户是谁(请求的朋友),所以我需要知道登录的用户正在查看谁的个人资料(接收的朋友)。由于我使用 pug 作为模板引擎,我找不到将接收朋友的 id 作为 html id 传递的方法,因此我将其保存为 title 属性:

 button.btn.btn-primary.btn-block#addFriendBTN(title = `${user.id}`) Add friend

我的jQuery是这个。当我控制日志friendId时,它确实捕获了正确的 id,并且我检查了它的类型为字符串以确保。

 $('#addFriendBTN').on('click', function() {
        var friendId = $(this).attr('title');

        $.ajax({
            method: 'POST',
            url: '/users/' + friendId,
            data: {
                recevingId: friendId
            },
            success: function() {
                $('#addFriendBTN').hide();
            },
            error: function(err) {
                console.log("err is " + err);
            }
        });
    });

在我的用户文件中的服务器端 js 中,我有这个发布路线:

router.post('/:id', isLoggedIn, function(req, res) {
  var receivingId = req.body;
  console.log("User Id is " + receivingId);
});

但是控制台日志(在浏览器中)给了我一个错误,所以它甚至没有得到服务器端的 js。

我收到的错误是 500 内部服务器错误,然后 err 是 [object object]。关于为什么这不起作用的任何想法?

标签: javascriptnode.jsajax

解决方案


你得到身体对象,试试这个:

var receivingId = req.body.recevingId;

推荐阅读