Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Location.reload更优雅/高效的解决方案_Php_Jquery_Ajax - Fatal编程技术网

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

Php Location.reload更优雅/高效的解决方案,php,jquery,ajax,Php,Jquery,Ajax,情况: 我有一个带有PHP函数的html页面。该函数在foreach循环中回显数组的元素。阵列的数据用于每个单独的回波 foreach ($DB->query($sql) as $v) { echo $v['specificData']; } 所有新元素都使用ajax添加到数组中 问题: 我一直在使用location.reload在每次添加新元素时刷新页面,以便立即显示。问题是,这种解决方案根本不优雅/高效 问题: 我的其他选择是什么?越简单越好 感谢您的帮助和建议;) 附言:我

情况:

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

foreach ($DB->query($sql) as $v) {
    echo $v['specificData'];
}
所有新元素都使用ajax添加到数组中

问题:

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

问题:

我的其他选择是什么?越简单越好

感谢您的帮助和建议;)


附言:我已经考虑过
jquery.append()
,但我希望有人有一个更简单的想法xD

只刷新页面中需要刷新的部分。在AJAX回调成功后,您可以在jQuery中执行以下操作,以使其顺利进行:

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

如果您已经使用ajax将数据发送回服务器,那么使用它来更新dom也应该很困难。如果你想要一个有效的方法,那么这可能就是你要走的路。如果您想避免jQ更新站点,只需编写一个基本的js函数

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