Location.reload更优雅/高效的解决方案

时间:2013-03-04 18:50:07

标签: php jquery ajax

情况:

我有一个带有PHP函数的html页面。该函数在foreach循环中回显数组的元素。数组的数据用于每个单独的回声。

foreach ($DB->query($sql) as $v) {
    echo $v['specificData'];
}

使用ajax将所有新元素添加到数组中。

问题:

每次添加新元素时,我都会使用location.reload刷新页面,以便立即显示。问题是该解决方案根本不优雅/高效。

问题:

我的其他选择是什么?最简单,更好。

感谢任何帮助和建议;)

P.S:我已经考虑过jquery.append(),但我希望有人有一个更容易的想法xD

2 个答案:

答案 0 :(得分:0)

只刷新需要刷新的页面部分。你可以通过在成功的AJAX回调中在jQuery中执行类似的操作来使其顺利进行:

$(element).fadeOut(function(){
    $(element).html(ajax_response_here).fadeIn(); // .html() or .append() whichever makes more sense
});

答案 1 :(得分:-1)

如果您已经使用ajax将数据发送回服务器,则应该很难使用它来更新dom。如果你想要一种有效的方式,那么可能就是这样。如果你想避免使用jQ更新网站,你可以简单地编写一个基本的js函数。

function appendTo(parent, content) {
    parent.innerHTML += "<p>"+content+"</p>";
}

function appendToById(parentId, content) {
    appendTo(document.getElementById(parentId), content);
}