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

結果をグローバル配列に割り当てていません。変数名を見てください。

于 2012-11-24T13:02:08.997 に答える
0

には何も割り当てませんcallNumArr。そのため、常に空になります。

それに加えて、非同期リクエストが完了する前に関数が呼び出される可能性が高くなります。に依存するコードは、AJAX リクエストが終了する前に実行されないことが他の方法で保証されていない限りcallNumArr、コールバックから呼び出す必要があります (ただし、それはありそうもないことです。たとえば、リクエストが予想よりも長くかかる可能性があります)。success

于 2012-11-24T13:02:44.537 に答える