をループからのデータにIDを割り当てる必要があります(このエンドポイントはで最初からIDが必要です私は2つのエンドポイントで働いていますAJAX呼び出し
- ロケーションIDのリスト
- 場所特定情報end)
第2のエンドポイントには位置IDは含まれていませんが、位置情報の一部である必要があります。私は何とか位置情報にIDを注入すると思ったが、私は立ち往生している。
私は、ロケーションIDを取得するための呼び出しを行います。
はここar settings1 = {
"async": true,
"crossDomain": true,
"url": "wss_api/wss_api.php?method=hello&format=json",
"dataType": "json",
"method": "GET"
};
var a1 = $.ajax(settings1);
var en = [];
var rt = [];
$.when(a1).done(function(d1) {
var d1p = JSON.parse(d1.data);
$.each(d1p.Entities, function(i, id) {
en.push({entity:id, url:"http://localhost/api_test/wss_api/locationdata.php?method=hello&format=json&entity=" + id});
});
makeMerge(en, d1p);
});
私は、IDとURL(末尾のID)に「EN」を含むオブジェクトを押してください。私はパラメータとして "en"と "d2"を使ってmakeMerge関数を起動します。
makeMerge関数では、私はajax呼び出しのための関数を持っており、forループはurlとidを持つ関数を "rt"にプッシュします。
function makeMerge(en_urls, en_id) {
function LocationData(d2, d3) {
return $.ajax({
"async": true,
"crossDomain": true,
"dataType": "json",
"url": d2,
"method": "GET"
});
}
for (url in en_urls) {
rt.push(LocationData(en_urls[url].url, en_urls[url].entity));
}
$.when.apply(this, rt).done(function() {
var ld = [];
for (var i = 0; i < arguments.length; i++) {
});
});
次に、私はajax呼び出しを実行します。
問題は、idが最初のajax呼び出し(d1p.Entities)から、makeMerge関数のforloop(en_urls [url] .entity)へのidとurl(en)を含むオブジェクトに、 LocationData関数(d3)を呼び出して停止します。
AJAX呼び出しが発射されると、現在使用中のIDが移動する前に割り当てられるようLocationData機能で行う必要があり、私はそれに対応するURLで取得したデータにIDを割り当てたい、と論理的には、このように縫い目次のものへ。注文が乱されていないことを確認する最良の方法です(データに間違ったIDが割り当てられています)。
誰も解決策を考えることはできますか?