我想附加到一个元素并立即更新它。console.log() 按预期显示数据,但 append() 在 for 循环完成之前什么都不做,然后一次将其全部写入。
索引.html:
...
<body>
<p>Page loaded.</p>
<p>Data:</p>
<div id="Data"></div>
</body>
测试.js:
$(document).ready(function() {
for( var i=0; i<5; i++ ) {
$.ajax({
async: false,
url: 'server.php',
success: function(r) {
console.log(r); //this works
$('#Data').append(r); //this happens all at once
}
});
}
});
服务器.php:
<?php
sleep(1);
echo time()."<br />";
?>
在 for 循环完成之前,页面甚至不会呈现。它不应该至少在运行 javascript 之前先渲染 HTML 吗?