我有一個代碼,它會在while循環中增加一個URL參數,直到$ i等於10.發生這種情況時,它將顯示每個數字最多爲10(因爲這是$ i停止時增加) - 在這種情況下,它將是1,2,3,4,5,6,7,8,9。逐個顯示每個結果
問題是隻有當$ i等於10時才顯示1, 2,3,4,5,6,7,8,9 - 我需要它顯示它發生的數字(而不是等待$ i等於10!)。
<div id="here"></div>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "test2.php",
success: function(data) { $("#here").html(data); }
});
});
</script>
test2.php:
while($content = file_get_contents('https://www.example.com?id='.$i)) {
if($i !== 1000000) {
echo $i;
}else{
break;
}
$i++;
}
我已經發現了下面的代碼將解決我的問題是有用的,但它會帶我永遠寫出1到1000000在arr
:
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")
test2.php:
if (isset($_POST["n"])) {
$content = file_get_contents("https://www.example.com?id=" . $_POST["n"]);
echo $content
}
正如我所說,這將永遠一路寫上去1000000 –
沒有...只是檢查這︰https://jsfiddle.net/maky/b1excL3t/ – fernando
這似乎不工作,因爲我必須循環像1000000和頁面不加載 –