ページからオブジェクトをカウントするループと、各オブジェクトに変数を設定するループの 2 つがあります。x がオブジェクトの数で、y が変数であるとしましょう。例:
for x=10 ; y=3
ループは次のようになります。
x:y
1:1
2:2
[..]
8:2
9:3
10:1
オブジェクトごとに、json クエリを作成する必要があります。Json は、クエリが成功した/失敗したことを意味する 0/1 で応答し、応答が失敗した場合、クエリは y 変数を無視する必要があります。
x:y
1:1 //1
2:2 //1
3:3 //0 - this is the failed query
4:1 //1
5:2 //1
6:1 //1 - y !=3 cause of failed query
……
$('button.#start').click(function(){
var last = $('input.blue').length;
var totalpackages = '10';
var currentpackage;
for( currentpackage = '1'; currentpackage <= totalpackages; )
{// for each package;
var n;
for(n='1'; n <= last;)
{
//alert(currentpackage + ' : ' + n)
//n++
//currentpackage++
$.getJSON('api/testsenderfail.php',
function(data){
worklink = data.data;
if(worklink == '1')
{
alert(currentpackage + ' : ' + n + ' : ' + worklink)
n++
currentpackage++
}else{
alert(currentpackage + ' : ' + n + ' : ' + worklink)
n++
//currentpackage++
}
});
}
}
})
私は何か間違ったことをしたと確信しています。Mozzila は、「このページのスクリプトがビジーであるか、応答を停止している可能性があります。スクリプトを今すぐ停止するか、スクリプトが完了するかどうかを確認し続けることができます。」と警告します。
PHP スクリプト "api/testsenderfail.php" は json 配列を生成し、{"data":"1"} (0/1) 90% は 1 を出力し、10% は 0 を出力します。これはテスト目的のためです。
<?php
$rand = rand(0, 9);
if($rand == '0'){$work = '0';}else{$work = '1';}
$data = array('data' => $work);
echo json_encode($data);
?>