ホームページ  >  記事  >  バックエンド開発  >  新浪微博にアンチコメント機能を実装

新浪微博にアンチコメント機能を実装

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 がコメントリストを表示できる方法は 2 つあります
一つは、サーバー側リクエスト時にコメント一覧のhtmlを直接繋ぎ合わせてサーバー側に出力する方法です
もう 1 つは、サーバー側で関連するコメントの 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","re​​playuid":"0","re​​playcid":"0"}],"total_rows……

jq には json を操作する方法があります。勉強する必要があります。非常に基本的なものです
------解決策----------- ------------
問題は解決されました
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。