如何使用jquery将数据传递给node.js后端

时间:2018-02-01 00:49:08

标签: jquery node.js

我正在尝试使用jquery和node.js创建一个“关注按钮” 我的前端是这样的:

<a id="author" href="#"><%= showPost.username %></a> //this displays a username
<p id="follower"><%= currentUser.username %></p> //this displays the current logged in username
<button style="width:100px;" type="button" id="fbtn">Follow</button>

jquery是这样的:

$("#fbtn").click(function(){ 
    var fbtn = $('#fbtn');
    var follower_name=$('#follower').text();
    var followee_name = $('#author').text();
    fbtn.text('Unfollow');

        $.ajax({
            url: '/follow',
            method: 'POST',
            dataType: 'application/json',
            data:JSON.stringify({follower_name:follower_name,followee_name:followee_name}),
            success: function(data){ 
                console.log("success");
            console.log(data);
            }
        });
});

后端是这样的:

app.post("/follow", function(req, res){
    var followee = req.body.followee_name;

    console.log("Followed");
    console.log(followee);
    res.send("Worked!!!")
});

目前我正在使用console.log,以便查看数据是否通过。但是,我在控制台中收到“ undefined ”。我也摆脱了req.body,我得到了相同的日志。

我也是在浏览器控制台中得到这个:

{readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}

从jquery获取数据后,我将其插入mySQL数据库。但我不知道如何将数据传递给后端。

2 个答案:

答案 0 :(得分:1)

我发现了自己的错误 我改变了

data:JSON.stringify({follower_name:follower_name,followee_name:followee_name})

要:

data:{follower_name:follower_name,followee_name:followee_name}

答案 1 :(得分:-1)

尝试在传递给后端的JSON的属性键中添加引号。