首页  >  文章  >  后端开发  >  防新浪微博评说功能实现

防新浪微博评说功能实现

WBOY
WBOY原创
2016-06-13 13:01:15814浏览

防新浪微博评论功能实现
现在,我有这样一要需求。就是防新浪微博评论的数据实现。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":"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 />


------解决方案--------------------

引用:
像这样的{"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