AJAX使Array Global成为可能

时间:2014-03-11 21:09:50

标签: javascript ajax arrays global

我正在尝试将返回AJAX的XML中的相应数据值存储到全局数组中,然后调用将从中删除一些元素的字母调用函数,但是有问题要做。 数组不是全局的。 这是糟糕的代码。 谢谢你的帮助。

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);
  }
};

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用本地存储?

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

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

如果你想和ajax一起做这样的事情

var it_works = false;

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

alert(it_works);