防新浪微博评论功能实现
现在,我有这样一要需求。就是防新浪微博评论的数据实现。ajax实现
点击评论,传送一个ID过去,得到所有回复数据.然后显示在下面。这个要怎么实现呢?
而且还我还要跟他一样,点评论后马上显示?
通过AJAX实现。
——解决方案——————–
你都知道传ID过去用ajax实现了,还不会写嘛
——解决方案——————–
传递过去后 ajax 返回json js 读取js 将数据呈现到浏览器
——解决方案——————–
$("#RESUME_WORK_save").bind("click",function(){//例如触发条件是RESUME_WORK_save的点击 也可以根据滚动条高度发送ajax请求调用数据等<br /> var work_data="data=jsondate&.....";//post数据提交<br /> $.ajax({<br /> type:"POST",<br /> url:"xxx.php",//需要提交页面 <br /> data:work_data,<br /> beforeSend:function(){<br /> $(this).attr("disabled",true).val("请求中");<br /> },<br /> success:function(data){<br /> var jsonresult=JSON.parse(data);//这里可以对拿回的数据进行组装成div,将该div插入或者任意其他处理方式将他放到div容器中。例如id worklist的容器 可以看看jquery帮助文档各种插入方式都有。<br /> var divbox="<div>xxx</div>";<br /> /*<br /> 内部插入<br /> append(content <br><font color='#FF8000'>------解决方案--------------------</font><br> fn) <br /> appendTo(content) <br /> prepend(content <br><font color='#FF8000'>------解决方案--------------------</font><br> fn) <br /> prependTo(content) <br /> 外部插入<br /> after(content <br><font color='#FF8000'>------解决方案--------------------</font><br> fn) <br /> before(content <br><font color='#FF8000'>------解决方案--------------------</font><br> fn) <br /> insertAfter(content) <br /> insertBefore(content) <br /> */<br /> $("#worklist").after(divbox);//worklist之后插入divbox 可以实现动态载入。<br /> }<br /> });<br />});
——解决方案——————–
LZ的就是基本代码的实现了
还有LZ在显示评论列表的时候可以有两个方式
一个就是在请求服务器端的时候,在服务器端将评论列表的html直接拼接好输出
另一个就是在服务器端仅仅返回相关评论的json数据,在客户端获取或解析json拼接html再追到加你所需要的html里面
——解决方案——————–
这个功能已经完成过一次了,其实就是PHP返回JSON,然后用jquery插入HTML代码append appendTo,但是加载的时候要做好控制,注意不要造成客户端重复加载。
——解决方案——————–
你这个要先转换成JSON,代码:
<br />var dt = '{"data":[{"commentid":"1","weiboid":<span>%本文来源gaodai#ma#com搞*代#码9网#</span><strong>搞gaodaima代码</strong>"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}';<br /> var json = eval('(' + dt + ')'); <br /> $(json.data).each(function(i, item){<br /> alert(item.commentid)<br /> })<br />
——解决方案——————–
jq有操作json的方法,你研究下吧,这个很基础
——解决方案——————–
问题已经帮你解决了