我有一个代码可以在while
循环中增加一个URL参数,直到$i
等于10.当发生这种情况时,它会显示最多10个的每个数字(因为这是{{ 1}}停止增加) - 在这种情况下,它将是1,2,3,4,5,6,7,8,9。
这个问题是只有当$i
等于10才会显示1,2,3,4,5,6,7,8,9时 - 我需要它来显示数字,因为它发生(而不是等待$i
等于10!)。
$i
test2.php:
<div id="here"></div>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "test2.php",
success: function(data) { $("#here").html(data); }
});
});
</script>
答案 0 :(得分:1)
您也可以使用.queue()
,.append()
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$({}).queue("ajax", $.map(arr, function(item, i) {
return function(next) {
return $.ajax({
type: "POST",
url: "test2.php",
data: {n:item}
})
.then(function(data) {
$("#here").append(data);
next();
});
}
})).dequeue("ajax")
PHP
if (isset($_POST["n"])) {
$content = file_get_contents("https://www.example.com?id=" . $_POST["n"]);
echo $content
}
答案 1 :(得分:0)
在脚本结束之前,没有稳定的方法让PHP脚本生成输出。
如果你需要倒计时,你可以在你的Javascript中放入while循环并让它用以下内容调用PHP脚本:
test2.php?i=1
然后
test2.php?i=2
等
答案 2 :(得分:0)
我真的认为async
会帮助你。你可以试试这段代码吗?
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "test2.php",
async: false,
success: function(data) { $("#here").html(data); }
});
});
</script>