これは初心者の JavaScript の質問ですが、問題を簡単な方法で説明する方法がわからないため、Google でヘルプを検索する方法がよくわかりません。
国、都市、および販売のみのリストを取得する方法で JSON を再形成できるように、操作する必要がある大きくてやや複雑な JSON があります。
JSON自体は私にとって問題ではありません.JSONを受け取ったら、それを使ってやりたいことです. 基本的に、受信した大きな JSON から 3 つの個別のオブジェクト/配列を作成し、それらの 3 つの個別のオブジェクト/配列を$.ajax
呼び出しの外で使用できるようにしたいと考えています。はい、成功のコールバック内でこれらすべてを実行できると思いますが$.ajax
、すべての JSON 処理を別の場所で実行したいと思います。私の疑似 JavaScript は次のようになります。
var model = {
countries: [],
cities: [],
sales: [],
set: function(data) {
//manipulate data here so that model.countries, model.cities, model.sales are populated
}
};
$.ajax({
url: 'example.com/sample.json',
success: function(data) {
model.set(data); //is this the right way to do this?
}
});
$('#countries').html(model.countries);
$('#cities').html(model.cities);
$('#sales').html(model.sales);
ただし、JavaScript は非同期で実行されるため、JSON がまだ受信されていないため、最後の 3 行は常に空白になります。
私の質問は、受信した JSON の結果を$.ajax
スコープ外の変数にバインドして、ページのどこでも使用できるようにするにはどうすればよいかということだと思います。