我正在尝试使用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数据库。但我不知道如何将数据传递给后端。
答案 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的属性键中添加引号。