I am using jQuery "GET" in a loop to obtain several results from the server. I want to include the loop index as a fixed parameter to the call back but its not working.
(I followed the advice of this article on how to do it.)
However, the value I get in the call back is completely not what I expect – rather than each loop index value, it is always equal to the exit value of the index.
ie. the code fragment here prints out '16' for each execution of the callback. How do I get it to print 1, 2, 3... (I realize the order might be different, that's fine)
In addition to the code below, I've tried several ways to specify the call back function, eg. function(data, textStatus) { return test(data, textStatus, idx); }, 'text');
etc.
How is this supposed to work?
function test(data, textStatus, siteNo)
{
console.log("siteNo=" + siteNo);
}
function loadConfigLists()
{
var siteReport;
// retrieve site configuration
jQuery.get("svGetSiteConfig.php", function(data, textStatus)
{
// retrieve port configuration for all sites
for (var idx=1; idx<=15; idx++)
{
var probeIP = siteConfigArray[idx].siteIP;
if (probeIP != "" && probeIP != null)
jQuery.get("svGetPortInfo.php?svSiteIpAddr=" + probeIP+"&s="+idx,
function(data, textStatus) { test(data, textStatus, idx); }, 'text');
else // IP value is blank
siteConfigArray[idx].portManifest = null;
}
}
}, 'text');
}