0

所以我正在做一些事情,我从一个 JSON 对象分配一个全局数组的值,然后再使用它们。这就是我正在看的

var Arr = new Array();
function parseFile() {
        $.ajax({
           type: "GET",
           url: "openCSVScript.php",
           success: function(data){
              Arr = jQuery.parseJSON(data);
              Console.log(Arr[0]); //shows a proper value
           }
        });
    }

但是,在另一个函数中使用了这一行:

console.log("Length of Arr: " + Arr.length); //displays 0

关于我做错了什么的任何想法?

4

2 回答 2

0

您没有将结果分配给全局数组。查看 var 名称。

于 2012-11-24T13:02:08.997 回答
0

你永远不会分配任何东西给callNumArr. 所以它永远是空的。

除此之外,您的函数很有可能在异步请求完成之前被调用。任何依赖的代码callNumArr都应该从success回调中调用,除非以其他方式保证它不会在 AJAX 请求完成之前执行(但这不太可能,例如请求可能比预期花费更长的时间等)。

于 2012-11-24T13:02:44.537 回答