我试图建立一个人们可以评论和喜欢的帖子系统。这就是我现在所做的
<!-- posts.ejs -->
<% posts.forEach(function(task) { %>
<%- include post.ejs %>
<% }) %>
当有人喜欢时,我会像这样使用套接字
<!-- post.ejs -->
<script>
var socket = io('localhost:48001');
$('#like').on('click', function(event){
var task = <% task._id %>
console.log(task);
var liker = {
pId: task ,
usr: user._id,
liker: 1
};
socket.emit('like', liker, function(response){
if(response==true){
//console.log("blue");
}
});
});
//server side
exports.like = (pId, usr) => {
Post.findOneAndUpdate({_id :pId}, {$inc : {'likers' : 1}}).exec();
};
我的问题是如何知道喜欢的帖子的id(task._id是未定义的)?如果您有更好的解决方案,请告诉我。
答案 0 :(得分:0)
您没有将任何值传递到其他模板文件中。
<% posts.forEach(function(task) { %>
<%- include post.ejs %>
<% }) %>
需要更像:
<% posts.forEach(function(task) { %>
<%- include('post.ejs', { task: task }) %>
<% }) %>
可能还有更多内容,但请告知我是否有效,如果没有,我会看看是否还有其他建议。