评论系统-显示已发布的评论而不重新加载页面



使用PHP处理注释系统。

一切都正常,插入、验证以及ajax调用。

目前,我正在对包含页面内容的容器执行.load()操作。

但是,当尝试再次发布评论时,这会导致问题。javascript不工作,一些与注释链接的javascript函数也不工作,诸如此类的小事。

每次用户发布评论时,我应该如何处理评论。

比如在脸书上,你发布了一条评论,新的评论就放在最后一条下面。

我唯一能想到的就是使用.append()并将新注释附加到列表中。

在我的PHP页面中,我可以设置用户名、注释、用户配置文件图片等的JSON返回,然后将所有数据附加回?

否则,有没有更好的方法可以在ajax调用成功后简单地"重新加载"div容器?

谢谢,我的作品。。。但我想以正确的方式学习。

克雷格。

您可以使用$.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()的原因是,您将在现有链接上绑定多个事件,而您不希望这样;-)

最新更新