¿Cómo manejar javascript simultáneo xmlhttprequests? [duplicar]

Posible duplicado:
pasando el índice desde la función de devolución de llamada de bucle for ajax (javascript)

He estado un poco confundido con hacer xmlhttprequests, a diferentes servidores, para recuperar algo de contenido ... Esto es lo que he escrito, pero parece que en algún momento me he equivocado ...

var URL = new Array();
URL[0] = "http://www.example1.com";
URL[1] = "http://www.example2.com";
URL[2] = "http://www.example3.com";
var nRequest = new Array();
for (var i=0; i<3; i++) {
    nRequest[i] = new XMLHttpRequest();
    nRequest[i].open("GET", URL[i], true);
    nRequest[i].onreadystatechange = function (oEvent) {
        if (nRequest[i].readyState === 4) {
            if (nRequest[i].status === 200) {
                console.log(nRequest[i].responseText);
                alert(nRequest[i].responseText);
            } else {
                console.log("Error", nRequest[i].statusText);
            }
        }
    };
    nRequest[i].send(null);
}

con este código en I.E.10 obtengo acceso denegado en la consola ..

Si elimino la matriz y uso una solicitud simple, funciona como se espera ..

wRequest = new XMLHttpRequest();
wRequest.open("GET", "http://www.example1.com", true);
wRequest.onreadystatechange = function (oEvent) {
    if (wRequest.readyState === 4) {
        if (wRequest.status === 200) {
            console.log(wRequest.responseText);
            alert(wRequest.responseText);
        } else {
            console.log("Error", wRequest.statusText);
        }
    }
};
wRequest.send(null);

Pero, ¿cómo se supone que desencadene varias solicitudes 2-3 y aún no tengo problemas con el manejo de datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta