私はjsonレスポンスをグローバル変数に保存したいので、getJSONリクエストを複数回実行することなくアプリケーションから使用できます。jQueryでJSONレスポンスを保存するには?
var data;
$.getJSON("panorama.json",function(json){
data = json.images[0].src;
console.log(data);
});
console.log(data);
私は、実際の要求の罰金にそれを記録し、しかし、私は他のどこでも「未定義」を取得した場合。 すべてのコメントが詳細です。
編集[コメントからコピー]:試しました...
$.myglobals = { result: "unset" }
$(document).ready(function() {
$.getJSON("panorama.json", function(json) {
$.myglobals.result = json.images[0].src;
console.log($.myglobals.result);
});
console.log($.myglobals.result);
}) ;
最初のログは、第二が定義されていない、大丈夫です。 [答えからコピー]
編集:
実際に両方の方法を働いた
興味深いのは、私の 要求が機能していたし、私は後に右 を私のグローバル変数をアクセスもする をしようとしたということです同じ機能のリクエスト
私はそれが機能の外でそれにアクセスしたとき それは魅力のように働いた
更新前にグローバル変数にアクセスしていたのでしょうか? JQueryの例から:注意:この関数の後の行は、コールバックの前に実行されることに注意してください。 –
あなたはアップデートについて正しいかもしれませんが、私のグローバル変数が更新されたかどうか正確にわかりますか?または私は私のグローバルvarが私がそれを使用する前に更新されるように私の要求を入れなければならない、私が考えることができるのは、リクエストのコールバックにすべてを書いているが、それは愚かに聞こえるでしょう:) – soda01