欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

防新浪微博评说功能实现

程序员文章站 2022-03-31 10:42:21
...
防新浪微博评论功能实现
现在,我有这样一要需求。就是防新浪微博评论的数据实现。ajax实现
点击评论,传送一个ID过去,得到所有回复数据.然后显示在下面。这个要怎么实现呢?
而且还我还要跟他一样,点评论后马上显示?
通过AJAX实现。
------解决方案--------------------
你都知道传ID过去用ajax实现了,还不会写嘛
------解决方案--------------------
传递过去后 ajax 返回json js 读取js 将数据呈现到浏览器
------解决方案--------------------
$("#RESUME_WORK_save").bind("click",function(){//例如触发条件是RESUME_WORK_save的点击 也可以根据滚动条高度发送ajax请求调用数据等
var work_data="data=jsondate&.....";//post数据提交
$.ajax({
type:"POST",
url:"xxx.php",//需要提交页面
data:work_data,
beforeSend:function(){
$(this).attr("disabled",true).val("请求中");
},
success:function(data){
var jsonresult=JSON.parse(data);//这里可以对拿回的数据进行组装成div,将该div插入或者任意其他处理方式将他放到div容器中。例如id worklist的容器 可以看看jquery帮助文档各种插入方式都有。
var divbox="
xxx
";
/*
内部插入
append(content
------解决方案--------------------
fn)
appendTo(content)
prepend(content
------解决方案--------------------
fn)
prependTo(content)
外部插入
after(content
------解决方案--------------------
fn)
before(content
------解决方案--------------------
fn)
insertAfter(content)
insertBefore(content)
*/
$("#worklist").after(divbox);//worklist之后插入divbox 可以实现动态载入。
}
});
});

------解决方案--------------------
LZ的就是基本代码的实现了
还有LZ在显示评论列表的时候可以有两个方式
一个就是在请求服务器端的时候,在服务器端将评论列表的html直接拼接好输出
另一个就是在服务器端仅仅返回相关评论的json数据,在客户端获取或解析json拼接html再追到加你所需要的html里面
------解决方案--------------------
防新浪微博评说功能实现这个功能已经完成过一次了,其实就是PHP返回JSON,然后用jquery插入HTML代码append appendTo,但是加载的时候要做好控制,注意不要造成客户端重复加载。
------解决方案--------------------
你这个要先转换成JSON,代码:

var dt = '{"data":[{"commentid":"1","weiboid":"47","uid":"100001","content":"34535","datetime":"1350355452","syncid":"0","synctype":"0","replayuid":"0","replaycid":"0"},{"commentid":"2","weiboid":"47","uid":"100000","content":"34535","datetime":"1350355456","syncid":"0","synctype":"0","replayuid":"0","replaycid":"0"},{"commentid":"3","weiboid":"47","uid":"10016","content":"34535","datetime":"1350355471","syncid":"0","synctype":"0","replayuid":"0","replaycid":"0"},{"commentid":"37","weiboid":"47","uid":"100000","content":"656321","datetime":"1350355517","syncid":"0","synctype":"0","replayuid":"0","replaycid":"0"}],"total_rows":4}';
var json = eval('(' + dt + ')');
$(json.data).each(function(i, item){
alert(item.commentid)
})


------解决方案--------------------
引用:
像这样的{"data":[{"commentid":"231","weiboid":"292","uid":"10000","content":"KSLDFJSKL;FKJSL","datetime":"1350355517","syncid":"0","synctype":"0","replayuid":"0","replaycid":"0"}],"total_rows……

jq有操作json的方法,你研究下吧,这个很基础
------解决方案--------------------
问题已经帮你解决了
防新浪微博评说功能实现

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频