ajax responseText返回数据的问题

/*这个函数主要处理的是列出的url连接是否正常,在arr里面装的是每个url的id*/
function checknode(){
var arr = "[0,1,2,3,4,5]";

for(var i=0;i<arr.length;i++){
var xhr = getAjax();
var id=arr[i].toString();
xhr.open('get','pingCheck.jsp? tableName='+tableName+'&tableId='+tableId+'&id='+id+'&rand='+Math.random(),true);//代码执行到这里都正常,jsp后台的输出都正常;
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
var b =xhr.responseText.trim();
alert("b:"+xhr.responseText.trim());//就是执行到这里的时候,b得到jsp传过来的值都是一个,是id=5的url的连接情况,按正常的情况是每个url的情况各一次(6种情况)。还有就是 把open函数中的参数改成false,就正常了。能有大神给解释下为什么吗??小弟谢过了!!!

            var arr1 = b.split(",");
            var ids=arr1[0];
            var is_ok=arr1[1];
            var td=document.getElementById(ids);
            if(is_ok=="ok"){
                td.innerHTML=is_ok;
                td.style.color='green';
            }else{
                td.innerHTML=is_ok;
                td.style.color='red';
            }
        }
    };
    xhr.send(null);
}

}