原因在於你這樣的迴圈會帶入不正確的 i 值,程式是可以改為這樣:
function ajaxloop(num10)
{
for (i=1;i<=num10;i++)
{
var requestString="order_input_querybau1.php?colorid="+document.getElementById('color'+i).value;
xmlHttp.open('GET',requestString,true);
(function() {
var unique_i = i;
xmlHttp.onreadystatechange = function()
{
catchGetTimeajax(unique_i);
};
})();
xmlHttp.send(null);
}
}
但是我覺得這樣不是好的方式,原因在於之前提過的,如果不是必要的話,不應該連續送出多次的 request。你可以把資料都收集完成後,做一次 request 應該是比較好的作法。 |