2つの異なるソースからデータを取得するために2つのAJAX GETリクエストを使用しています。
各リクエストで、レスポンスデータを解析し、関連する各データを含む一時的な配列を作成し、この一時的な配列をマスター配列にプッシュします。
しかし、これは、をAJAXリクエストに含めると機能しますが、現在は廃止予定です。
このコードを書く方法がありますか? (注:このコードスニペットで2つのAJAXリクエストを使用していますが、私が作業しているプロジェクトでは合計4つ使用する必要があります)。連続したAJAXコールの代わりに "async:false"の代わりに
function get_results() {
$(document).ready(function() {
var master_array = [];
$.ajax({
type: "GET",
url: "http//:www.source1.com",
dataType: "xml",
async: false,
success: function(xml) {
$(xml).find('product').each(function() {
var Average = $(this).find('Average').text();
var Price = $(this).find('Price').text();
var Name = $(this).find('Name').text();
var Url = $(this).find('Url').text();
var Image = $(this).find('Image').text();
master_array.push([Average, Price, Name, Url, Image]);
});
}
});
$.ajax({
type: "GET",
url: "http//:www.source2.com",
dataType: "xml",
async: false,
success: function(xml) {
$(xml).find('product').each(function() {
var Average = $(this).find('Average').text();
var Price = $(this).find('Price').text();
var Name = $(this).find('Name').text();
var Url = $(this).find('Url').text();
var Image = $(this).find('Image').text();
master_array.push([Average, Price, Name, Url, Image]);
});
}
});
});
}
2番目のリクエストを最初のリクエストの成功関数の最後に移動します。約束を使用することもできます。 –
最初のajax成功コールバックの最後に2番目のajaxリクエストを入れてください –