发新贴  快速回复

node中评论请求的问题

愁丑臭凑?
2017-05-20 09:09

大神帮我看一下吧 node实战中最后有评论的视频 我看了看跟着老师做了 在api.js中写了一个路由 代码如下:

router.post('/comment',function (req,res) {
    var contentid=req.body.contentid || '';

     var postData={
         username:req.userInfo.username,
         postTime:new Date(),
         comment:req.body.comment
     }

     //
    Content.findOne({
        _id:contentid
    }).then(function (content) {

        content.comments.push(postData)
        return content.save()
    }).then(function (newContent) {
        console.log(newContent)
        responseData.data=newContent
        responseData.message='评论成功'
        res.json(responseData)
        return
    })
})

然后前端在js中也发送了ajax请求 代码:

$('#commentBtn').click(function () {
    $.ajax({
       type:'POST',
        url:'/api/comment',
        data:{
           contentid:$("#contentid").val(),
           comment:$('#comment').val()
        },
        success:function (res) {
            console.log(res)
            $('#comment').val('')

            renderComments(res.data.comments)
        }
    })
})

发过ajax后前端这边数据也能接受过来,服务器那边也有响应 ,但是不知道为什么 页面一直在刷新的状态,请求完了 一直在刷新,感觉还是服务器那边的问题吧 但是具体是什么我也不清楚 刷新好大会一会就报错 这是路由哪里少些代码了?

 
zmouse

你的renderComments函数做了什么?

2017-05-22 16:15  回复本帖
愁丑臭凑?

zmouse 2017-05-22 16:15发表的内容:

你的renderComments函数做了什么?

就是一个简单的渲染内容的函数

function renderComments(comments) {

console.log(comments)

var html=''

for (var i=0;i<comments.length;i++){

html+='<h2> '+comments[i].username+' </h2>'+'<div>'+comments[i].comment+'</div>'

} $('.cvbn').html(html)

}

这个也没什么问题吧 页面一直刷新  一会后页面的url的后面参数会变成comment='评论内容 ' 我提交的参数是contentid  刷新一会怎么会自动变成commet了呢 大神

2017-05-23 10:35  回复本帖
登录 后才可以发表回复