少し助けてください。私の問題はかなり困難ですが、私があなたを助けてくれることを願っています:) 私はREST APIコレクションを持っています。 URL1は名前のリストを提供します。 URL2には、URL1の名前のプロパティが含まれています。 (たとえば、URL2?name = URL1.name)。jQuery ajaxコール(REST APIを順番に使用)
URL1 - >アダム、ジュリエット、ジョージ
URL2名=アダム - > ID、プロパティ1など 私は解決策のためにこのコードを作っ
(結果はJSONにしている):?
$(document).ready(function() {
var $data_v = $('#content');
var name = []; //store the name list
$.ajax({
type:'GET',
url: "URL1",
success: function(data){
$.each(data, function(i, data){
name[i] = data;
console.log("Array: "+name[i]);
});
}
}).done(function(){
console.log("Succesful Array upload. The array size: "+name.length);
for (var item_i=0; item_i<10; item_i++) { //name.length
(function(item_i) { // protects i in an immediately called function
$.getJSON("URL2/?"+name[item_i]+"&any_other_property", function(data_items) {
var items = [];
console.log("ID"+data_items[0]);
console.log("Property 1"+data_items[1]);
});
})(item_i);
}
});
console.log("Outside The array size: "+name.length);
});
問題1:RESTサーバーに要求が最大であるため、このコードを実行すると、すべてのプロパティが表示されません。停止するため、503エラーが発生します。私はsetTimeoutと.delay()を試してみましたが、このコードを実行した場合、それは気にしませんでした。
問題2:最初の10のプロパティを呼び出そうとしましたが、戻り値が順不同です(ID:1,0,4,6,2,3 ...など)。
このデータをデータベースにアップロードしたいので、すべての点が私にとって重要です。
あなたは何かアイデアや経験がありますか?どのようにこの問題を解決できますか? 私はどんなアイデアに対しても非常に感謝しています。 ありがとうございます。
PS:申し訳ありませんがURLは公開できません。
あなたの残りのサーバーですか?残りのAPIを生成するコードにアクセスできますか? – madalinivascu
はいそれはテストサーバーです。いいえ、私はJSONのためにアクセスすることができます、私は/リンクを参照してください。したがって、このリンク(URL1、URL2)には、ブラウザに表示されるjsonモデルが表示されます。 –
apiの呼び出しで複数のテーブルに参加するオプションがある場合はapiのドキュメントをチェックし、別の解決方法はapiの呼び出しを1回しか実行せず、結合クエリを行う個人のデータベースにデータを保存することです – madalinivascu