I'm fetching an XML file using this code:
function getMaps(){
toLoad = loadMaps.length;
for (var i = 0; i < loadMaps.length; i++){
$.ajax({
type: "GET",
url: loadMaps[i],
dataType: "xml",
success: processMap
});
}
}
Which works fine, but I want to give processMap another parameter (namely loadMaps[i], the name under which to store the loaded xml)
I can't figure out how to do this without resorting to global variables, which is not what I want.
The problem of accepted issue that "i" will be always with the last value in the loop, at least the Success event happens faster than next iteration of a loop, which is almost never happens.
Here is how it worked in my case:
Here is the original answer of similar question: how to pass multiple arguments to onSuccess function in Prototype?
The jQuery
success callback
has three parameters, which cannot be changed or expanded. So you need to call your function within an anonymous function which closes over.