防新浪微博评论功能实现
现在,我有这样一要需求。就是防新浪微博评论的数据实现。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的方法,你研究下吧,这个很基础
------解决方案--------------------
问题已经帮你解决了