$(function() {
setInterval(function() {
$.get("refresh.php", function(result) {
$('#response').empty()
.hide()
.html(result)
$("#response").append(result)
.fadeIn("slow");
});
}, 5000);
});
实际上我的脚本在 refresh.php 中每隔5秒点击一次refresh.php我从mysql数据库中获取数据并创建一个模板,如:
<table>
<tr><td>Name<td><td>$fetch['name']</td></tr>
</table>
我在firebug上检查了我的refresh.php仅在5秒后发送响应一次但是在所有浏览器上它都显示了两次结果:
<table>
<tr><td>Name<td><td>$fetch['name']</td></tr>
</table>
<table>
<tr><td>Name<td><td>$fetch['name']</td></tr>
</table>
答案 0 :(得分:4)
它会将结果显示两次,因为您将其放在那里两次:首先使用html
,然后使用append
:
$(function() {
setInterval(function() {
$.get("refresh.php", function(result) {
$('#response').empty()
.hide()
.html(result) // <==== Here
$("#response").append(result) // <==== And here
.fadeIn("slow");
});
}, 5000);
});
html
用您提供的标记(或元素[s])替换元素的内容(在使用之前不需要empty
)。 append
追加您提供给元素的标记(或元素[s])。
你想要一个或另一个。我会选择html
:
$(function() {
setInterval(function() {
$.get("refresh.php", function(result) {
$('#response')
.hide()
.html(result)
.fadeIn("slow");
});
}, 5000);
});
答案 1 :(得分:-1)
使用以下
$.get("refresh.php", function(result) {
$("#response").html(result);
});