Javascriptの変数スコープと混同しています。 Prototypeライブラリを使ってデータファイル(.json)を読み込み、json-sans-evalを使ってレスポンステキストを解析しようとしています。問題は、私がAjax.Requestスコープ外の "dataObj"にアクセスしようとすると、データファイルの内容が失われているように思えることです。Javascript可変スコープの質問
Javascriptの変数には参照カウントがあります。私は、グローバル変数 'dataObj'がどのようにデータを失うのか理解していません。ヒントや助け?
ありがとうございました!
var dataObj;
function OnLoadHandle() {
new Ajax.Request('data.json',
{
method:'get',
onSuccess: function(transport)
{
var response = transport.responseText || "no response text";
dataObj = jsonParse(response);
console.log(dataObj["[0,0]"]); // OK
},
onFailure: function(){ alert('Something went wrong...') }
});
console.log(dataObj["[0,0]"]); // ERROR
}
これはスコープではなく、_A_jaxが_A_synchronousで、2番目の 'console.log'が実行されている*前にリクエストが完了しています... – CMS