私はこれで壁に頭をぶつけてきました。誰かが私が間違っていることを教えてもらえますか?
var foo = 100;
function loadData() {
// this pops up a window that says it's 100
alert(foo);
$.getJSON(myvars.constants.ajaxpath + "getsettings", function(data) {
foo = 200;
// this pops up a window that says it's 200
alert(foo);
});
// this pops up a window that says it's 100
alert(foo);
}
getJSON() 呼び出し内でグローバル変数に設定した値は、getJSON() 呼び出し内でのみ有効です。関数が終了すると、グローバル変数は以前の値に戻ります。
getJSON() 呼び出し内からこのグローバル変数を設定するにはどうすればよいですか? .success()、.complete() なども使用してみました。100に戻すのではなく、200に設定したままにしたい.
ありがとう!
PS明らかに、getJSON()呼び出しでグローバル変数を使用して他のことを行っていますが、単純な変数設定は問題を説明するためのものです。