我正在尝试在删除帖子后让我的jQuery代码刷新div。我的代码如下所示:
$.post('/includes/classes/handler.php?do=postDelete', { postId: $postId },
function(data) {
$('.globalWrapper').fadeOut('slow').load(this).fadeIn('slow');
});
脚本删除完美,淡入/淡出,但窗口没有刷新。我已经看到你需要一个load()函数的文件。但是,有没有办法刷新div?那么我用来调用帖子的PHP脚本也会刷新吗?
更新
HTML:
<div class='postHolder'>
<div class='postMain'>
<div class='postContent'>
</div><!-- postContent end -->
</div><!-- postMain end -->
<div id='postDelete'>Her is my delete div which i'm calling to delete a post.</div>
</div><!-- postHolder end -->
.postHolder是必须删除的div。
答案 0 :(得分:2)
你是什么意思刷新div?你需要在div中抓住你想要的东西并使用get请求将它放在那里。 div不知道它来自哪里。您可以向div添加一个属性,以便知道它来自何处并使用它来刷新div。
如何,而不是重新加载div,只需执行post
删除操作,然后从html中删除帖子。无需实际关闭并返回记录列表以刷新div。
使用这样的一些jquery删除帖子。
$(this).closest('div').remove();
答案 1 :(得分:1)
如果我正确理解了您的示例,则您将帖子的删除帖子发送到handler.php并尝试将this
加载到globalWrapper
。问题是this
不是你想象的那样。尝试将其记录到控制台以查看它告诉您的内容。
如果您将有效资源(返回HTML的资源)传递到load()
,它应该按预期工作。
[更新]更准确......有点像预期。你将函数链接起来的方式,你可能想象它会在资源加载后淡入,但我认为它不会(没有测试过)......它会在调用后淡入。淡入应该是加载成功处理程序的一部分。
[更新2]我根据您的书面要求假设您想要重新加载内容,但如果您真的只想删除它,我认为Valamas会为您带来更好的方向。