AJAX使Array Global

I'm trying to store corresponding data values from a XML returning AJAX into global array and then letter call function that will remove some elements from it but have problem to do it. Array is not global. Here is the bad code. Thanks for help.

var someArray=new Array();
function refreshPage() {
    downloadUrl("page.php", function(data) {
        markers = data.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {  
            var value=markers[i].getAttribute("Value");
            someArray.push(value);
        }
    });
    window.setTimeout("refreshPage()",5000);
}

function removeElement(value){
    someArray.slice(value,1);
}

function downloadUrl(url, callback) {
    var status = -1;
    var request = createXmlHttpRequest();
    if (!request) {
       return false;
    }
    request.onreadystatechange = function() {
    if (request.readyState == 4) {
        try {
          status = request.status;
        } catch (e) {
    }
    if (status == 200) {
       callback(request.responseXML, request.status);
       request.onreadystatechange = function() {};
    }
  }
}
request.open('GET', url, true);
  try {
    request.send(null);
  } catch (e) {
    changeStatus(e);
  }
};

have you thought about using local storage?

// Store
localStorage.setItem("lastname", "Smith");

// Retrieve
localStorage.getItem("lastname");

If you want to stay with ajax do something like this

var it_works = false;

$.ajax({
  type: 'POST',
  async: false,
  url: "some_file.php",
  data: "",
  success: function() {it_works = true;}
});

alert(it_works);