在jquery请求中编辑全局变量

时间:2012-11-19 21:08:23

标签: javascript jquery

我正在使用JQUERY来解析XML文件,而在此,我正在写入多重数组。现在我遇到的麻烦就是将数组的结果传递给脚本。

<script type="text/javascript">
//....
var ProjectList = new Array();

var N = 0;
var ID = [];
var A = [];


$.get("urlaub.xml", function(GetList) {

    $(GetList).find("u").each(function() {

        var $U = $(this);
        ID.push($U.attr("id"));
        $(this).A.push($U.find("A").text());


        N++;

    });

    alert(N); //not 0!        
});

alert(N); //allways 0
// ......​​​    
</script>

所以,我需要找到一种方法来使数组和变量N可以从外部访问,并且我在它失败了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的代码已经在编辑全局变量,您只是等待不够长时间才能使用它们。例如,

//....
var ProjectList = [];

var N = 0;
var ID = [];
var A = [];


var getRequest = $.get("urlaub.xml", function(GetList) {

    $(GetList).find("u").each(function() {

        var $U = $(this);
        ID.push($U.attr("id"));
        $(this).A.push($U.find("A").text()); // what is .A? *confused*


        N++;

    });


});

getRequest.done(function(){
    alert(N); //not 0!  
});

alert(N); //always correctly 0 because we haven't received xml yet
// ......​​​