添加评论的实现思路

我也不知道该说些什么,就今天的内容吧;

1.用TP5框架做评论功能;

1.1、评论功能的局限性是只能回复评论人的评论不能够回复‘回复评论人的评论’

  原因是我感觉在往下写下去的话会有非常大的工作量,害怕会写崩。好吧我承认我很胆小;

1.2、实现思路

  1.2.1、评论

     首先我们得知道我们需要哪些字段:文章的ID,评论人的ID,评论的内容 ;没错我们只需要这三个字段(这些字段是写入评论表中的

     {$item->id}//这个是文章的标签

     隐藏标签input type=‘hidden’ value($item->id)

     我们给每篇文章一个唯一的id,volist遍历输出,id=“xxx_{$item->id}”;

     创建方法 addcomment(id);

     给评论按钮添加addcomment({$item->id});

      在方法addcomment(id)中通过jquery选择器$("xxx_"+id)获取这个标签的子元素的值;

     var content = $("xxx_"+id+" input:eq(0)").val();//这是内容;

      var art_id = $("xxx_"+id+" input:eq(0)").val();//这是文章ID;

     这里需要做一个判断,来判断用户是否输入了内容

      if(content == ‘’){

        当然如果你有更好的提示框可以添加;如果内容为空的话就反馈给前台,来给用户提示

        alert(“评论内容不能为空”);

        return ;

        }

      当上面的数据都符合条件后我们就要开始进行前后台信息交互了

       这里使用$.post()就可以了 ,并不一定要用$.ajax()

      $.post("传入后台的url",{art_id:art_id 这里是向后台传入的数据},function(res){

        我们在这里接收后台传过来的数据

         var msg =  $.parseJSON()//后台必须传出的是json数据

        我们来做个判断 suc代表的是添加成功fail代表的是添加失败(注意!光在前台进行内容的判断是不够的,后台需要在加一层判断)

          if(msg.msg  == 'suc'){

          //我们先进行清空一下content的内容,具体的我就不写了

          //如果msg.msg 是成功,我们就要开始实现无刷添加评论了

          //我们先给用户提示一下你添加成功了

          alert('添加成功');

          //开始实现无刷添加评论

          //我们要实现无刷添加还必须让它添加的顺序是正确的

          //我们先获取$(".comment")的第一个p标签

            var  suc = $(".comment_"+id+" p:eq(0)");

             //这里我们要做一个判断是否存在第一个评论;

          if(suc.length==0){

          //这说明第一个P标签是不存在的,这时我们只需要向展示区标签后直接进行追加就可以了

           $(".comment_"+id).append("<p>"+content+"</p>");

          }else{

          //存在第一个标签时我们就要向第一个p标签前追加内容

           $(".comment_"+id+“ p:eq(0)”).before("<p>"+content+"</p>");

          }

          $(".comment").append("<p>"+content+"</p>");//这个地方是在评论展示区展示屏轮

            }else{

          alert(msg.msg);提示错误信息  

                   }

        })

     

      

posted @ 2018-05-28 22:32  追梦人(菜鸟)  阅读(870)  评论(1)    收藏  举报