使用PHP处理评论系统。
一切正常,插入,验证以及ajax调用。
目前我在保存页面内容的容器上执行.load()。
但是,这会在尝试再次发表评论时导致问题。 javascript不起作用,与评论链接的一些javascript函数也不起作用和类似的东西。
每次用户发帖时,我应该如何处理评论。
就像在facebook上一样,你发表评论,新的评论只是放在最后一个评论之下。
我唯一可以想到的是我使用.append()并将新评论附加到列表中。
在我的PHP页面中,我可以设置用户名,评论,用户个人资料图片等的JSON返回,然后将所有数据追加回去?
否则有更好的方法可以简单地重新加载'成功ajax调用后的div容器?
谢谢,我的工作......但我想以正确的方式学习。
克雷格。
答案 0 :(得分:0)
您可以使用$ .ajax加载新注释,并使用.append()或prepend()在容器中插入新注释。如果在函数中包装调用,则可以反复调用该函数(例如每2秒)以检查新注释。
如果我没记错的话。仅在浏览器刷新后元素准备就绪时才会执行.load()。
哪些东西不起作用?请记住,在成功的AJAX调用之后必须绑定事件和数据。这意味着如果在加载页面时将事件绑定到链接,它们显然仍然有效。但是如果您稍后插入链接则没有任何事件。
我通常会这样做:
$.ajax({
url: 'ajax.php',
data: { 'parameters': 'yada yada' },
dataType: 'json',
success: function( data ) {
$('.links').unbind().click(function() { alert('hello!'); });
}
});
.unbind()的原因是你将绑定现有链接上的几个事件 - 你不希望这样; - )