虽然可以通过控制输出缓冲区来实现,但我不会这样做,主要是因为它会延迟 JavaScript DOMReady 事件。
如果您正在寻找视觉效果,您应该使用 JavaScript(但根据您的问题,我没有看到任何使用 Ajax 的理由)。它可以通过一个简单的setInterval
. 考虑一个最初为空的<div id="hello">
:
var i = 0;
var timer = setInterval(function(){
if(i == 10000) {
clearInterval(timer);
return;
}
var div = document.getElementById('hello');
div.innerHTML += 'hello ' + i + '<br>';
i++;
}, 250);
我刚刚看到您的编辑,现在我认为您实际上应该使用 Ajax!您链接到的示例确实如此。基本上,您必须在 JavaScript 中设置一个测试队列,其中每个测试都有一个唯一的 URL。然后只需使用 Ajax 一次触发一个请求(jQuery 并且$.get
将是最简单的方法)。下面假设一个<ul>
而不是我之前示例中的 div ,并且服务器将响应每个测试的成功或失败消息:
var tests = [
'http://example.com/test1',
'http://example.com/test2',
'http://example.com/test3',
];
function processQueue() {
if(tests.length > 0) {
var test = tests.shift();
$.get(test, function(response) {
$('#some_ul').append('<li>' + response + '</li>');
processQueue();
});
}
}
processQueue();